Для дисплея на модели XDS8003D и с аналогичными, предлагаю файл vfdbuff.bin набивать так:
- vfdbuff.png (5.25 KiB) Viewed 8367 times
Каждый сегмент кодируется двумя байтами (т.к. в последних двух группах значения каждого сегмента 0100x0 и 0200x0).
При внесении конкретных значений каждого сегмента по соответствующим строкам, упрощается операция сложения для окончательного вывода информации на дисплей по всей маске...
Последние два байта в каждой строке - для информативности и удобства (чтобы добить строку до 16 байт).
Всего 10 групп.
Длина файла - 160 байт
Соответственно и названия логических групп уже готовы:
SL - Special left (Левые спец.символы) - в этой группе 7 сегмент - это 8 кусок пирога.
PC - Pieces of Cake (Куски пирога) - в этой группе сегменты перепутаны местами.
D1...
D7 - Diggits (Группы цифирь)
SR - Special right (Правые спец.символы) - к этой группе относятся двоеточия и два незадействованых по-умолчанию сегмента, на которые при желании вешаются светодиоды (что я благополучно и сделал).
Ну и команды управления можно сделать
SL['a',0]
PC['g',1]
D1['a',1]
...
SR['f',1]
для каждой группа потребуется массив описателей адресов и масок по сегментам, а управлять ими через функцию группы, напр.:
цифра[1,'a',0] (у цифры 1 потушить сегмент а)
Для удобства, желательно делать еще один массив - уже готовый FONT (в соответствии с возможностями используемого дисплея)
- Code: Select all
0=1111110
1=0110000
...
9=1111011
...
A=1110111
...
Y=0111011
На мною используемом дисплее символы, которые можно рисовать:
- Code: Select all
1234567890[-]ABbCcDdEFGHhiJLlNnOoPqRrSTtUuY
для них в группах D1...D7 можно было бы давать упрощенные команды, например
D1["1"]
D2["2"]
D3["0"]
D4["0"]
Было бы удобно использовать для вывода времени и длительности текущего видео в плеере (если до этого дело дойдет)