Страница 1 из 1
Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 20:57:55
Denis17
Привет Всем. Есть программа, которая выводит символы на ЖКИ. При записи русских букв, проводим их попиксельное описание через двоичный код, так вот вопрос в том-зачем в строке описания буквы последнее значение 0b00000?
Пример описания букв:
FontStart:
.db 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000
.db 0b01110, 0b01010, 0b01010, 0b01010, 0b01010, 0b11111, 0b10001, 0b00000
.db 0b10011, 0b10011, 0b10101, 0b10101, 0b10101, 0b11001, 0b11001, 0b00000
.db 0b11111, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b00000
.db 0b10000, 0b10000, 0b10000, 0b11111, 0b10001, 0b10001, 0b11111, 0b00000
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 21:08:02
dr.doc
Возможно пробел...
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 21:23:44
uk8amk
ЖКИ на контроллере 44780?
Если ваша стекляшка способна рисовать буквы 5*8, то вполне возможно задействовать последний байт для вывода осмысленной информации.
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 21:24:48
Kavka
dr.doc писал(а):Возможно пробел...
Жжошь, однако.
Возьмём одну сточку
Код: Выделить всё
.db 0b01110, 0b01010, 0b01010, 0b01010, 0b01010, 0b11111, 0b10001, 0b00000
Представим в виде символа
Код: Выделить всё
01110 | ***
01010 | * *
01010 | * *
01010 | * *
01010 | * *
11111 | *****
10001 | * *
00000 |
Это просто пустота под символом, чтобы на двух строчном индикаторе не "слипались" символы в соседних строках.
Если на индикаторе есть пространство между строчками, то этот ряд пикселей тоже можно занять под шрифт.
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 21:50:24
Denis17
Известно что не задействована строка из каких то соображений, текст однострочный, так что вариант с разделением строк-отпадает
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 22:04:26
Kavka
Значит выбран такой шрифт и всё. Может такой шрифт у них там стандартным считается. Однако, вероятнее всего, что русские буквы надо было сделать одинаковой высоты с английскими.
Re: Код программы в AVR Studio
Добавлено: Пт июн 06, 2014 22:39:14
Denis17
возможно, спасибо
Re: Код программы в AVR Studio
Добавлено: Вс июн 08, 2014 11:15:52
Deer
Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR). Вероятно, добивают до чётности
Re: Код программы в AVR Studio
Добавлено: Вс июн 08, 2014 11:26:29
Pavel_1978
Делается элементарно для того чтобы строки разделялись для удобства восприятия. Ведь на граф дисплее буквы могут и друг на друга налезть если вывод криво написать.
Re: Код программы в AVR Studio
Добавлено: Вс июн 08, 2014 18:57:07
ARV
Deer писал(а):Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR).
чушь
Re: Код программы в AVR Studio
Добавлено: Пн июн 09, 2014 11:32:08
Engineer_Keen
ARV писал(а):чушь
Не, ну почему? Конечно можно и нечетное количество байт зарезервировать и компилятор все скомпилирует, но например в AVR студии вылезет варнинг, что мол "неровное" количество байт... Так что чтобы лишних сообщений не было я тоже в конце нули добавляю, если надо. Но тут, ИМХО, действительно именно для визуального разделения символов сделано.
Re: Код программы в AVR Studio
Добавлено: Пн июн 09, 2014 15:08:38
ARV
почему? да потому что нет требования выравнивать количество байт данных до четного количества.
Re: Код программы в AVR Studio
Добавлено: Пн июн 09, 2014 15:24:40
pyzhman
ARV писал(а):Deer писал(а):Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR).
чушь
Зато как сказано!
... байт...чётным (организация ...в ядре...