idv3 по блюпупу не вывел? Ароде писали что можно как то..
Куда мне, хоть бы с тем что есть разобраться:)
Даже название присоединенного БТ телефона не нашел где взять..
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...
idv3 по блюпупу не вывел? Ароде писали что можно как то..
Куда мне, хоть бы с тем что есть разобраться:)
Даже название присоединенного БТ телефона не нашел где взять..
А его вроде и не найдешь. Но можно вытащить из printf, там вроде при дебаге есть такое...
By Admin
А как показывается название папки на стандартном LCD? У меня почему-то только на первом файле в папке показывается нормальное название. При переходе к следующему файлу, не важно вручную или автоматически, показывается сокращение. Только при смене папки и только на первом файле опять полное название.
Примерно так: 80's Collection превращается в 80'SCO~2.все пытаюсь приделать LCD 2004 на AC6925
Не смог найти где пишется вместо LFN внезапно SFN. Сделал примерно такой объезд
/*Folder name info*/ foldername_p = (char *)music_var->ui_file_info->dir_name.lfn; tmp = music_var->ui_file_info->dir_name.lfn_cnt; if (tmp > 0){ //UNICODE foldername_len = tmp/2; for(int i=0; i < foldername_len; i++){ folder_name[i] = foldername_p[2 * i]; } }else{ //ANSI if(foldername_p[0] == 'R' && foldername_p[1] == 'O' && foldername_p[2] == 'O' && foldername_p[3] == 'T'){ foldername_len = strlen(foldername_p); for(int i=0; i < foldername_len; i++) { folder_name[i] = foldername_p[i]; } } }
Даже название присоединенного БТ телефона не нашел где взять..
А его вроде и не найдешь. Но можно вытащить из printf, там вроде при дебаге есть такое...
Я просто плохо искал.
bt_configs_user.c static void read_name_handle(u8 *name) { putchar('\n'); puts((const char *)name); putchar('\n'); } read_remote_name_handle_register(read_name_handle);
Приделал этот же дисплей через hw I2C - музыка заикается. Видимо такт 100 КГц + блокирующие задержки это плохо.
Надо подумать как сделать без блокирующих задержек.
таймер используй 2 or 3.
1 -sys tick timer.
By Admin
пока так, но это блокирует
static void delay_us_t2() { JL_TIMER2->CON = BIT(14); JL_TIMER2->PRD = 24; JL_TIMER2->CNT = 0; SFR(JL_TIMER2->CON, 2, 2, 2); //use osc SFR(JL_TIMER2->CON, 4, 4, 0); //div 1 SFR(JL_TIMER2->CON, 14, 1, 1); //clr pending SFR(JL_TIMER2->CON, 0, 2, 1); //work mode while (!(JL_TIMER2->CON & BIT(15))); JL_TIMER2->CON = BIT(14); }
Может сделать isr для timer2, каждые 50 us и в ней FSM на передачу данных.
Надо попробовать, никогда таким не занимался
и в ней FSM на передачу данных.
Или сразу в обработчике прерывания от I2C интерфейса.
水Mizu-DEC JLtech since 22.06.2019
Или сразу в обработчике прерывания от I2C интерфейса.
Будет задачка со *
Но мне 74HC595 больше нравится, там такт теоретически до 33МГц. Даже на моем сопливом макете до 10Мгц идет. Даже задержки не мешают:)
А если еще 1 byte через дма передавать
Отредактировано amateur (2024-10-25 18:07:26)
Вот тоже довольно крупный дисплей, для него наверное просто драйвер немного переделать нужно.
https://de.aliexpress.com/item/32524858507.html?
Подсчитал, для дисплеев типа HD44780 через последовательный интерфейс на одну букву нужно отправить 8 byte, а на I2C еще больше, кошмар.
ну вот по этому проще было им взять spi и присобачить стандартный дисплей. Кстати а как на счет большого 128/64 олед? Правда од дороже - до 10 у.е.
By Admin
А как вы начинаете писать драйвер? Инит, потом работа с буфером? Библиотеку присобачить - еще тот гемор для меня) Хочу вот что то типа tm1637. Но ни как не дойду до этого). Всегда найдется что то более важное). Щас делаю платки Bluetrum и довожу до ума jl) Просто затягивается это на долго)
By Admin
Вот тоже довольно крупный дисплей, для него наверное просто драйвер немного переделать нужно.
https://de.aliexpress.com/item/32524858507.html?
Этот на st7920 (наверное, я не брал) 128*64 33мм*66мм.
тот 2004 который я мучаю 21мм*71мм примерно.
ну вот по этому проще было им взять spi и присобачить стандартный дисплей. Кстати а как на счет большого 128/64 олед? Правда од дороже - до 10 у.е.
А что за ОЛЕД? размер мне важен
2.4 ssd1309
By Admin
Правда я свои два прикончил. Не знаю, но charge-pump умерли в обеих. Правда думаю это моя вина, обращался с ними не оч, первый замкнул , второй вроде тоже)
Но есть же кстати большие LCD которые стандартные ST56... как их там, есть и 2.4 и 2.8. И по меньше также есть..
By Admin
А как вы начинаете писать драйвер? Инит, потом работа с буфером? Библиотеку присобачить - еще тот гемор для меня) Хочу вот что то типа tm1637. Но ни как не дойду до этого). Всегда найдется что то более важное). Щас делаю платки Bluetrum и довожу до ума jl) Просто затягивается это на долго)
взял готовый драйвер для ардуино(зачем изобретать велосипед), переделал в чистый С. А буфер либо такой который там уже есть, либо свой подходящий. Остальное по образу и подобию стандартного lcd. Но писанины конечно много, там везде это все разбросано.
2.4 ssd1309
27*55мм против 2004 21мм*71мм, маловато будет. Букв одного размера в одну строку меньше влезет. А делить бегущую строку на две замучаешся читать.
есть 2004 38*118мм вот это да
цена правда около 24, но я ж у меня один
Отредактировано amateur (2024-10-25 22:44:40)
Попробовал sw I2C на этот же дисплей, было оочень медленно, там везде delay(3000) понапихано. Убавил до 2 вроде работает, такт около 800кГц.
А вот на стандартном LCD нет ли легких пощелкиваний при регулировке громкости? На музыке не особо слышно, а если 400Гц звук проигрывать тогда у меня слышны легкие щелчки. На I2C точно, на 74НС595 не обратил внимания.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...