0x01 = 00000001 0x02 = 00000010 0x04 = 00000100 0x08 = 00001000 0x10 = 00010000 0x20 = 00100000 0x40 = 01000000 0x80 = 10000000
Так, как сделать 12 бит, или лучше сразу 16?
- Подпись автора
USMicro® 2026©
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...
0x01 = 00000001 0x02 = 00000010 0x04 = 00000100 0x08 = 00001000 0x10 = 00010000 0x20 = 00100000 0x40 = 01000000 0x80 = 10000000
Так, как сделать 12 бит, или лучше сразу 16?
USMicro® 2026©
Туда ещё дописать 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000
Тоесть 16 бит?
USMicro® 2026©



Потом сделаю просто три дефайна,
#define LED_7PIN_SEL 0
#define LED_12PIN_CA_SEL 0
#define LED_12PIN_CC_SEL 0
В выборе разных дисплеев . Еще перенесу то что уже добавил в других SDK вяких кучу видов OLED на разных драйверах с всякими свистоперделками, отражениями, переворотами, и тд...
Ну и щас нормально постараюсь перенести уже рабочий код и сделать интеграцию в сдк без его библиотек - всяких там ST7735/st7789/ili9341 там просто другой буфер у них, ну и инит тоже другой. Ну и цветные + разрешение выше.
USMicro® 2026©
Как то давно я уже разбирался с многими моделями всяких 7 пиновых дисплеев 
Просто пожалуй реализую в самом драйвере в его хедер файле - выбор типа сегментника. Они разные.
DISPLAY 3
NAME : (KH2408) (EZT-2408) (CX-2401-1) (LS2431) (2408-8) (LS2408)
BITMAP :
/* 0 1 2 3 4 5 6
0 X 1A 1B 1E SD PLAY X
1 1F X 2A 2B 2E 2D X
2 1G 2F X : 3B || MP3
3 1C 2G 3F X 3C 4E X
4 1D 2C 3G 3A X 4C 4G
5 3D USB 3E 4D 4F X 4B
6 X X FM X X 4A X
DISPLAY 2
NAME : (LSH24D17-1B-UR) () ()
BITMAP :
/* 0 1 2 3 4 5 6
0 X 1A 1B 1E SD PLAY X
1 1F X 2A 2B 2E 2D X
2 1G 2F X : 3B || MHz
3 1C 2G 3F X 3C 4E X
4 1D 2C 3G 3A X 4C 4G
5 3D USB 3E 4D 4F X 4B
6 X X AUX X . 4A X
*/
DISPLAY 1
NAME : (KH2401-7) (CX2401-7) (2401-1B)
BITMAP :
/* 0 1 2 3 4 5 6
0 X 2A 2B 2C 2D 2E 2F
1 1A X 2G : . FM MP3
2 1B X X 4A 4B 4C 4D
3 1C PLAY 3A X 4E 4F 4G
4 1D PAUSE 3B 3E X X X
5 1E USB 3C 3F X X X
6 1F SD 3D 3G X X X
*/
Модель дисплея можно посмотреть под компаундом, он почти всегда прозрачен, со стороны ножек.
USMicro® 2026©
А кто знает где указатель времени led7_show_string?
USMicro® 2026©
А ни кто не видил, где написано на пинах PWM, где то видел а вот где...
USMicro® 2026©
Вопрос снят. В даташитах написано.
USMicro® 2026©
А какой дисплей оригинальный в сдк 692х, 128х64 понятно а конкретно? У меня тут пара вроде ST7735 лежит. Пытался приделать, пока не очень получается.
Там LCD монохромный в ориге - ST7565
Кстати, можно просто вставить инит от OLED ssd1306/1309/sh1106 - то они будут работать без каких либо переделок, там с ST7565 совпадает все, и буфер, и разрешение. Просто нужен инит.
USMicro® 2026©
Нее, буду мучить ST7735. Мне дисплей не так и нужен, чисто спортивный интерес.
Во первых, он цветной, и там другой, на много сложнее инит, и он другой.
USMicro® 2026©
Из цветного сделать чернобелый легче чем наоборот:). С инитом проблем нет, вручную я на него писать могу, буфер через дма пока не идет. На выходных получше еще посмотрю.
Прикольно. И шрифты поменял)
Штатным софтом?
Я так понял софтовый i2c?
Интересно подключить 7сегментник через I2C например через tm1637
USMicro® 2026©
Да, I2C у меня в этом случае софтовый, так как на PB0/PB1 хардварного I2C нет, но когда я тестировал всё это на бредборде с чипом, я там хардварным I2C пользовался, на PC4/PC5.
В принципе я не думаю, что использование хардваного I2C что-то кардинально поменяет, ибо что здесь, что там нужно всё побайтово передавать, а не как в случае с SPI просто по DMA отправлять целиком весь буфер на дисплей.
От штатного софта тут всё кроме штатного драйвера под дисплей, я его сам писал. Реализовал там отправку только тех частей которые были изменены (а не тупо весь буфер на дисплей каждый раз отправлять), а также подключение дисплея на горячую.
水Mizu-DEC JLtech since 22.06.2019
а также подключение дисплея на горячую.
Прикольно, тоесть реализовал общение по I2C , а не тупо отправку....
Реализовал там отправку только тех частей которые были изменены
И не тормозит? это я полагаю что нужно каждый раз сравнивать что изменилось в буфере?
USMicro® 2026©
И не тормозит? это я полагаю что нужно каждый раз сравнивать что изменилось в буфере?
Пока тормозов я не заметил, хотя пока что я не замерял сколько длится сам процесс обновления дисплея, надо бы это сделать.
У меня софтовый i2c молотит где-то на 700 кГц, полностью буфер дисплея (128 * 64 / 8 = 1024 байт) отправляется за ~20 мс, а мелкие изменения и того меньше.
Для определения изменившихся частей я реализовал там два буфера, в одном хранится то что надо показать, а в другом - то что сейчас показывается. При обновлении дисплея на каждой странице определяется первый и последний столбец где есть разница, и эта часть уже отправляется на дисплей. Это конечно не идеальный способ, но пока сойдёт.
水Mizu-DEC JLtech since 22.06.2019
Думаю там не будет тормозов, там вроде дисплей в ориге обновляется каждые пол секунды вроде?
Я пытался сделать плавный скроллинг текста по SPI но не нашел где оно, вроде в библиотеках)
USMicro® 2026©
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Подключение разной периферии к JL SoC. SPI/I2C/I2S/PWM/UART/GPIO...