USMI

Объявление

12/06/2025 (Administration) - Spamming for the purpose of boosting messages will be punished with a ban. Спам с целью накрутки сообщений будет караться баном.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...


Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...

Сообщений 181 страница 200 из 227

181

BIOS написал(а):

Еще если IR кнопок больше чем 21 - нужно изменить значение в основном конфиге  конфиге.
#define KEY_IR_NUM_MAX      21

Хорошо, спасибо.

Подпись автора

Türkiye

182

amateur написал(а):

buttoncode=ir_code.wData

const u8 IRTabFF00[] = {
...

    IR_11,//index=24=buttoncode MSG_XY IR_11 from task_xy_key.c
...

Также, какая модель или марка пульта дистанционного управления у вас используется? Это универсальный пульт или фирменный?

Подпись автора

Türkiye

183

NEC Format Datacode.
JL by Default use NEC also. User code in all sdk - NEC FF00
https://upforme.ru/uploads/001b/ca/8a/2/t377647.jpg

All of them - same . But different design. All of them  - NEC FF00

Подпись автора

USMicro® 2026©

184

BIOS написал(а):

NEC Format Datacode.
JL by Default use NEC also. User code in all sdk - NEC FF00

All of them - same . But different design. All of them  - NEC FF00

Понял, спасибо. У меня два пульта NEC, некоторые кнопки работают, но их назначение не соответствует названию кнопки (например, кнопка уменьшения громкости на одном из моих пультов переключает на ускоренную перемотку). Я до сих пор не могу настроить команды в соответствии с используемым пультом. Вместо одного примера или короткого кода, не могли бы вы предоставить более длинный пример/код или объяснение? Основная причина в том, что перевод сильно искажает смысл. Спасибо ещё раз.

Подпись автора

Türkiye

185

Похоже, я разобрался.

Подпись автора

Türkiye

186

Кто-нибудь подключал микросхему JL IC к внешней микросхеме памяти, например, 25Q32? Я пробовал, но она не распознается, хотя конфигурация ISP правильная.

187

Я допустил небольшую ошибку, это SPI.

188

Dang Tien Thinh написал(а):

Кто-нибудь подключал микросхему JL IC к внешней микросхеме памяти, например, 25Q32? Я пробовал, но она не распознается, хотя конфигурация ISP правильная.

Да, я подключал. Работает. Микросхема SPI должна содержать FAT- файловую систему.

Подпись автора

USMicro® 2026©

189

Привет ещё раз! Я решил купить BT201, 0,96-дюймовый OLED-монитор, и пульт NEC, чтобы поэкспериментировать с ИК-командами. Любой пульт NEC должен подойти,Я также попробую Codex, поскольку у меня не было возможности по-настоящему попрактиковаться в работе с SDK. нужно только настроить команды, верно? Вот пульт, который я собираюсь купить.https://upforme.ru/uploads/001b/ca/8a/339/t455032.jpg
Спасибо и привет!

Подпись автора

Türkiye

190

BIOS написал(а):

Vâng, tôi đã kết nối rồi. Nó hoạt động. Chip SPI phải có hệ thống tập tin FAT.

Брат, можешь подсказать модель внешней микросхемы памяти, которую ты успешно использовал и подключал? Я хочу провести тесты.

191

barbaror4 написал(а):

Привет ещё раз! Я решил купить BT201, 0,96-дюймовый OLED-монитор, и пульт NEC, чтобы поэкспериментировать с ИК-командами. Любой пульт NEC должен подойти,Я также попробую Codex, поскольку у меня не было возможности по-настоящему попрактиковаться в работе с SDK. нужно только настроить команды, верно? Вот пульт, который я собираюсь купить.
Спасибо и привет!

Я купил обучаемый пульт. С помощью ардуино можно генерировать любые коды и научить.
https://upforme.ru/uploads/001b/ca/8a/24/t813762.jpg

192

Dang Tien Thinh
У сожалению не помню., так как давно уже было. Это была какая то Winbond...
Но за то сохранились фотографии.
https://upforme.ru/uploads/001b/ca/8a/2/t425391.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t186773.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t776068.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t416208.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t230333.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t368673.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t50429.jpg
https://upforme.ru/uploads/001b/ca/8a/2/t736496.jpg
Она используется только для хранения UI/Sound ресурсов. Через SFC. Дамп для флешки должен быть предварительно собран и содержать FAT файловую систему, и всё это должно быть прошито через программатор.

Подпись автора

USMicro® 2026©

193

barbaror4 написал(а):

Похоже, я разобрался.

The most useless message ever

194

Попробую подробнее описать настройку ик пульта для AC692X. В AC695X то же самое только файлы по другому называются.

Есть 21 ик кнопка.

К примеру в режиме BT кнопке 0 я присваиваю команду MSG_VOL_UP, кнопке 1 - команду MSG_VOL_DOWN

в task_bt_key.c пишу

Код:
/***********************************************************************
                             IR button table
************************************************************************/
#define IRFF00_BT_KEY_SHORT \
/*00*/ MSG_VOL_UP,\
/*01*/ MSG_VOL_DOWN,\
/*02*/ NO_MSG,\
/*03*/ NO_MSG,\
/*04*/ NO_MSG,\
/*05*/ NO_MSG,\
/*06*/ NO_MSG,\
/*07*/ NO_MSG,\
/*08*/ NO_MSG,\
/*09*/ NO_MSG,\
/*10*/ NO_MSG,\
/*11*/ NO_MSG,\
/*12*/ NO_MSG,\
/*13*/ NO_MSG,\
/*14*/ NO_MSG,\
/*15*/ NO_MSG,\
/*16*/ NO_MSG,\
/*17*/ NO_MSG,\
/*18*/ NO_MSG,\
/*19*/ NO_MSG,\
/*20*/ NO_MSG,

К примеру мой пульт посылает при нажатии на VOL+ код кнопки 0x0A а  VOL- код кнопки 0x0B

в key_drv_ir.h пишу

Код:
/*ir key define*/
#define IR_00                   0
#define IR_01                   1
#define IR_02                   2
#define IR_03                   3
#define IR_04                   4
#define IR_05                   5
#define IR_06                   6
#define IR_07                   7
#define IR_08                   8
#define IR_09                   9
#define IR_10                   10
#define IR_11                   11
#define IR_12                   12
#define IR_13                   13
#define IR_14                   14
#define IR_15                   15
#define IR_16                   16
#define IR_17                   17
#define IR_18                   18
#define IR_19                   19
#define IR_20                   20
#define IR_21                   21
#define IR_22                   22

//////////////////////////////////
#define NKEY_00               0xff
#define NKEY_01               0xff
#define NKEY_02               0xff
#define NKEY_03               0xff
#define NKEY_04               0xff
#define NKEY_05               0xff
#define NKEY_06               0xff
#define NKEY_07               0xff
#define NKEY_08               0xff
#define NKEY_09               0xff
#define NKEY_0A               IR_00
#define NKEY_0B               IR_01

То же самое можно сделать прямо в key_drv_ir.c

Код:
const u8 IRTabFF00[] = {
    NKEY_00, NKEY_01, NKEY_02, NKEY_03, NKEY_04, NKEY_05, NKEY_06, NKEY_07, NKEY_08, NKEY_09,   IR_00,   IR_01, NKEY_0C, NKEY_0D, NKEY_0E, NKEY_0F,
    NKEY_10, NKEY_11, NKEY_12, NKEY_13, NKEY_14, NKEY_15, NKEY_16, NKEY_17, NKEY_18, NKEY_19, NKEY_1A, NKEY_1B, NKEY_1C, NKEY_1D, NKEY_1E, NKEY_1F,
    NKEY_20, NKEY_21, NKEY_22, NKEY_23, NKEY_24, NKEY_25, NKEY_26, NKEY_27, NKEY_28, NKEY_29, NKEY_2A, NKEY_2B, NKEY_2C, NKEY_2D, NKEY_2E, NKEY_2F,
    NKEY_30, NKEY_31, NKEY_32, NKEY_33, NKEY_34, NKEY_35, NKEY_36, NKEY_37, NKEY_38, NKEY_39, NKEY_3A, NKEY_3B, NKEY_3C, NKEY_3D, NKEY_3E, NKEY_3F,
    NKEY_40, NKEY_41, NKEY_42, NKEY_43, NKEY_44, NKEY_45, NKEY_46, NKEY_47, NKEY_48, NKEY_49, NKEY_4A, NKEY_4B, NKEY_4C, NKEY_4D, NKEY_5E, NKEY_4F,
    NKEY_50, NKEY_51, NKEY_52, NKEY_53, NKEY_54, NKEY_55, NKEY_56, NKEY_57, NKEY_58, NKEY_59, NKEY_5A, NKEY_5B, NKEY_5C, NKEY_5D, NKEY_4E, NKEY_5F,
};

Узнать какие коды отправляет пульт можно в key_drv_ir.c (ну или с помощью ардуино)

Код:
u8 get_irkey_value(void)
{
    u8 tkey = 0xff;
    if (ir_code.bState != 32) {
        return tkey;
    }

    printf("(0x%X_%d)",(u8)ir_code.wUserCode,(u8)ir_code.wData); /*print device code and button code*/
    if ((((u8 *)&ir_code.wData)[0] ^ ((u8 *)&ir_code.wData)[1]) == 0xff) {
        if (ir_code.wUserCode == 0xFF00) /*use device code from your remote*/
        {
            /* printf("<%d>",(u8)ir_code.wData); */
            tkey = IRTabFF00[(u8)ir_code.wData];
        }
    } else {
        ir_code.bState = 0;
    }

    /* if(tkey != NO_KEY){ */
    /* log_printf("tch %x", tkey); */
    /* } */

    return tkey;
}

Как пример: wUserCode 0xFF00 -> device code 0x00, inverted device code 0xFF; wData 0xB24D -> button code 0x4D, inverted button code 0xB2

195

amateur написал(а):

The most useless message ever

You are right :),even though i wrote "i think i understood" i had a break,havent worked on it for 2-3 months i think. Sooo this makes it a kind of useless message

Подпись автора

Türkiye

196

amateur написал(а):

I'll try to describe the IR remote control setup for the AC692X in more detail. It's the same for the AC695X, but the files are named differently.

There are 21 IR buttons.

For example, in BT mode, I assign the MSG_VOL_UP command to button 0 and the MSG_VOL_DOWN command to button 1.

I write in task_bt_key.c

For example, when I press VOL+, my remote sends the button code 0x0A, and when I press VOL-, the button code 0x0B.

I write in key_drv_ir.h

The same can be done directly in key_drv_ir.c

You can find out what codes the remote sends in key_drv_ir.c (or using an Arduino)

As an example: wUserCode 0xFF00 -> device code 0x00, inverted device code 0xFF; wData 0xB24D -> button code 0x4D, inverted button code 0xB2

Understood. Thanks for explaining again(i know i asked too much questions on this topic)

Подпись автора

Türkiye

197

Всем привет! В колонках Monster Micro и Monster Atom в качестве светодиодного индикатора режимов зарядки и блютуз подключения используются не обычные (красный и синий светодиоды), а матричный RGB типа ws2812b с однопроводным управлением, запрограммированы в soc'е  в режиме белого и красного свечения. Управление идёт с ноги PG2, а питание с PE5/PE6 (нагрузка с этого порта до 46 миллиампер).  Никто не видел проектов для JL soc'ов. Нашёл только для avr и arm архитектур.

Отредактировано Alextel (2026-07-01 15:50:02)

198

Здравствуйте, у меня монитор BT201 и 0,96-дюймовый OLED-экран. Я также прошил для него прошивку пользовательского интерфейса, но по какой-то причине экран ничего не отображает. Я пробовал переключать SCL и SDA, а также включил пользовательский интерфейс и ЖК-дисплей в настройках SDK. Буду благодарен за любую помощь! https://upforme.ru/uploads/001b/ca/8a/339/t685061.jpg

Подпись автора

Türkiye

199

barbaror4 написал(а):

Здравствуйте, у меня монитор BT201 и 0,96-дюймовый OLED-экран. Я также прошил для него прошивку пользовательского интерфейса, но по какой-то причине экран ничего не отображает. Я пробовал переключать SCL и SDA, а также включил пользовательский интерфейс и ЖК-дисплей в настройках SDK. Буду благодарен за любую помощь!

Ты конечно уже проверил дисплей на другом контроллере и проверил есть ли правильный сигнал на SCL/SDA?

200

amateur написал(а):

Ты конечно уже проверил дисплей на другом контроллере и проверил есть ли правильный сигнал на SCL/SDA?

У меня три OLED-дисплея одной модели, SSD1306, I2C. Я использую схему Arduino UBOOT без реле с этого форума. BT201 работает, он отображается в Bluetooth. Я также тестировал OLED-дисплеи с другими микроконтроллерами (Arduino, PIC). Не знаю, связано ли это с загрузкой UI bat.   

isd_download.exe -tonorflash -dev br21 -boot 0x2000 -div6 -wait 300  -f uboot.boot sdk.app bt_cfg.bin ui_resource\menu.res ui_resource\ui_sty.sty ui_resource\f_ascii_s.pix f_gb2312_s.pix f_gb2312.tab

Подпись автора

Türkiye


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...