Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Quasy по поводу "битового байта" (+)

Отправлено ReAl 20 февраля 2009 г. 16:19


Вот как раз знакогенераторы делать мне приходилось. И для матричных принтеров, и для термо. И байта-то и не хватает часто. И символ удобнее для программы (а, значит, кооче и быстрее код) бывает хранть так, что в виде, грубо говоря

0b1111001
0b1001001
0b1001001
0b1001001
0b1000110

замучаешься голову выворачивать и зеркалить в уме чтобы допереть, что это "5" да ещё и оценить "красивость".
Поэтому для знакогенераторов нужны либо конвертилки BMP во что надо (желательно в исходниках или настраиваемые по эти самые - чтобы все перевороты/зеркалирования задать), или конвретор из текста, но, скажем, такого:

default = ' ' ; это указатель на что поместить в индекс шрифта,
; если для этого кода битмап не указан
code = 'P', 'Р' ; это латиница и кирилица
-*******--
-*--------
-*--------
-*--------
-******---
-------*--
--------*-
--------*-
--------*-
--------*-
-------*--
-******---

А дальше программулина парсит это дело, складывает в памяти, потом конвертирует в нужный вид и выдаёт асмовый текст.
Конвертор каждый раз правится под нужную задачу.
Один раз было вообще хитро - в памяти реально шли сначала все верхние строки каждого символа, потом все вторые, все третьи и так далее.
Это экономило в целевой программе формирование графических строк - в начале вывода графстроки по её номеру формировался указатель на "занкогенератор для данной графстроки", а потом по мере формирования этот указатель индексировался смещением образа для символа из текстовой строки.
Слабо такой знакогенератор рисовать и поддежрживать с помощью 0b1010101 ???
Вот потому я и сказал, что ни макросы _b(1010101) не коллекционирую, ни программы генерации такого не пишу.

А то "повезло, повезло"...



Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru