Код программы в AVR Studio

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 6
Зарегистрирован: Сб май 17, 2014 23:55:09

Сообщение 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
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Сообщение dr.doc »

Возможно пробел...
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

ЖКИ на контроллере 44780?
Если ваша стекляшка способна рисовать буквы 5*8, то вполне возможно задействовать последний байт для вывода осмысленной информации.
Мудрый кот
Аватара пользователя
Сообщения: 1811
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

dr.doc писал(а):Возможно пробел...
Жжошь, однако. :))

Возьмём одну сточку

Код: Выделить всё

.db 0b01110, 0b01010, 0b01010, 0b01010, 0b01010, 0b11111, 0b10001, 0b00000
Представим в виде символа

Код: Выделить всё

01110 |  *** 
01010 |  * * 
01010 |  * * 
01010 |  * * 
01010 |  * * 
11111 | *****
10001 | *   *
00000 | 
Это просто пустота под символом, чтобы на двух строчном индикаторе не "слипались" символы в соседних строках.
Если на индикаторе есть пространство между строчками, то этот ряд пикселей тоже можно занять под шрифт.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 6
Зарегистрирован: Сб май 17, 2014 23:55:09

Сообщение Denis17 »

Известно что не задействована строка из каких то соображений, текст однострочный, так что вариант с разделением строк-отпадает
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1811
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Значит выбран такой шрифт и всё. Может такой шрифт у них там стандартным считается. Однако, вероятнее всего, что русские буквы надо было сделать одинаковой высоты с английскими.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
Родился
Сообщения: 6
Зарегистрирован: Сб май 17, 2014 23:55:09

Сообщение Denis17 »

возможно, спасибо
Прорезались зубы
Аватара пользователя
Сообщения: 211
Зарегистрирован: Пт июл 31, 2009 19:45:11
Откуда: Санкт-Петербург

Сообщение Deer »

Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR). Вероятно, добивают до чётности
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Сообщение Pavel_1978 »

Делается элементарно для того чтобы строки разделялись для удобства восприятия. Ведь на граф дисплее буквы могут и друг на друга налезть если вывод криво написать.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Deer писал(а):Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR).
чушь
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

ARV писал(а):чушь
Не, ну почему? Конечно можно и нечетное количество байт зарезервировать и компилятор все скомпилирует, но например в AVR студии вылезет варнинг, что мол "неровное" количество байт... Так что чтобы лишних сообщений не было я тоже в конце нули добавляю, если надо. Но тут, ИМХО, действительно именно для визуального разделения символов сделано.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

почему? да потому что нет требования выравнивать количество байт данных до четного количества.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

ARV писал(а):
Deer писал(а):Количество байт в .db должно быть чётным (организация памяти программ в ядре AVR).
чушь
Зато как сказано!
... байт...чётным (организация ...в ядре...
Docendo discimus
Контактная информация:
Ответить

Вернуться в «AVR»