USMI

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

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


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


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

Сообщений 61 страница 80 из 104

61

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

idv3 по блюпупу не вывел? Ароде писали что можно как то..

Куда мне, хоть бы с тем что есть разобраться:)
Даже название присоединенного БТ телефона не нашел где взять..

62

А его вроде и не найдешь. Но можно вытащить из printf, там вроде при дебаге есть такое...

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

By Admin

63

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

А как показывается название папки на стандартном 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];
                }
            }
        }

64

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

Даже название присоединенного БТ телефона не нашел где взять..

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

А его вроде и не найдешь. Но можно вытащить из 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);

https://forumupload.ru/uploads/001b/ca/8a/24/t716056.jpg

65

Приделал этот же дисплей через hw I2C - музыка заикается. Видимо такт 100 КГц + блокирующие задержки это плохо.

66

Надо подумать как сделать без блокирующих задержек.

67

таймер используй 2 or 3.
1 -sys tick timer.

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

By Admin

68

пока так, но это блокирует

Код:
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 на передачу данных.
Надо попробовать, никогда таким не занимался

69

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

и в ней FSM на передачу данных.

Или сразу в обработчике прерывания от I2C интерфейса.

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

水Mizu-DEC JLtech since 22.06.2019

70

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

Или сразу в обработчике прерывания от I2C интерфейса.

Будет задачка со * :)

Но мне 74HC595 больше нравится, там такт теоретически до 33МГц. Даже на моем сопливом макете до 10Мгц идет. Даже задержки не мешают:)

А если еще 1 byte через дма передавать :)

Отредактировано amateur (2024-10-25 18:07:26)

71

Вот тоже довольно крупный дисплей, для него наверное просто драйвер немного переделать нужно.
https://de.aliexpress.com/item/32524858507.html?

72

Подсчитал, для дисплеев типа HD44780 через последовательный интерфейс на одну букву нужно отправить 8 byte, а на I2C еще больше, кошмар.

73

ну вот по этому проще было им взять spi  и присобачить стандартный дисплей. Кстати а как на счет большого 128/64 олед? Правда од дороже - до 10 у.е.

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

By Admin

74

А как вы начинаете писать драйвер? Инит, потом работа с буфером? Библиотеку присобачить - еще тот гемор для меня) Хочу вот что то типа tm1637. Но ни как не дойду до этого). Всегда найдется что то более важное). Щас делаю платки Bluetrum и довожу до ума jl) Просто затягивается это на долго)

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

By Admin

75

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

Вот тоже довольно крупный дисплей, для него наверное просто драйвер немного переделать нужно.
https://de.aliexpress.com/item/32524858507.html?

Этот на st7920 (наверное, я не брал) 128*64 33мм*66мм.

тот 2004 который я мучаю 21мм*71мм примерно.

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

ну вот по этому проще было им взять spi  и присобачить стандартный дисплей. Кстати а как на счет большого 128/64 олед? Правда од дороже - до 10 у.е.

А что за ОЛЕД? размер мне важен :)

76

2.4 ssd1309

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

By Admin

77

Правда я свои два прикончил. Не знаю, но charge-pump умерли в обеих. Правда думаю это моя вина, обращался с ними не оч, первый замкнул , второй вроде тоже)
Но есть же кстати большие LCD которые стандартные ST56... как их там, есть и 2.4 и 2.8. И по меньше также есть..

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

By Admin

78

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

А как вы начинаете писать драйвер? Инит, потом работа с буфером? Библиотеку присобачить - еще тот гемор для меня) Хочу вот что то типа tm1637. Но ни как не дойду до этого). Всегда найдется что то более важное). Щас делаю платки Bluetrum и довожу до ума jl) Просто затягивается это на долго)

взял готовый драйвер для ардуино(зачем изобретать велосипед), переделал в чистый С. А буфер либо такой который там уже есть, либо свой подходящий. Остальное по образу и подобию стандартного lcd. Но писанины конечно много, там везде это все разбросано.

79

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

2.4 ssd1309

27*55мм против 2004 21мм*71мм, маловато будет. Букв одного размера в одну строку меньше влезет. А делить бегущую строку на две замучаешся читать.

есть 2004 38*118мм вот это да
цена правда около 24, но я ж у меня один :)

Отредактировано amateur (2024-10-25 22:44:40)

80

Попробовал sw I2C на этот же дисплей, было оочень медленно, там везде delay(3000) понапихано. Убавил до 2 вроде работает, такт около 800кГц.

А вот на стандартном LCD нет ли легких пощелкиваний при регулировке громкости? На музыке не особо слышно, а если 400Гц звук проигрывать тогда у меня слышны легкие щелчки. На I2C точно, на 74НС595 не обратил внимания.


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