Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Вывод текста на экран жк

Непрочитано 29.05.2011, 21:34  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Сообщение от Uragan90 Посмотреть сообщение
Мне для другой функции потребуется!
А что для Вашей функции не подходит?
Сообщение от AJScorp Посмотреть сообщение
У Вас же в любом случае в качестве параметра передается указатель на стринг, так какая разница откуда его брать - из массива или константой?
Писал под Ваш пост #33, "lcd_putstring(x,y,*mass_pamtr[i],WHITE,BLACK,0,1);" должно работать. Если нет - пишите как именно!
Реклама:

Последний раз редактировалось AJScorp; 29.05.2011 в 21:51.
AJScorp вне форума  
Непрочитано 30.05.2011, 22:25  
spinach83
Временная регистрация
 
Аватар для spinach83
 
Регистрация: 30.03.2009
Сообщений: 71
Сказал спасибо: 23
Сказали Спасибо 26 раз(а) в 25 сообщении(ях)
spinach83 на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Я со шрифтами дел не имел. Вашу тему почитал и чтото захотелось заняться. Только вопросов парочка мучает. Без углублений в код. Вопросы могу задать глупые, прошу не бить.
Для 8х8 шрифта например получается размер таблицы символов 2 килобайта? Это если 2 цвета (символ - фон) и число символов 256. А 12х12 - уже 4,5 килобайт? Насколько рационально организовать алгоритм "растягивания" шрифта, или всё же разумнее несколько шрифтов сделать для разных размеров?
spinach83 вне форума  
Непрочитано 30.05.2011, 23:07  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Прямо на этом и рассмотрим. Сам шрифт "бесцветный" однобитовый. Цвет появляется при печати...
PHP код:
lcd_putstring(x,y,*mass_pamtr[i],WHITE,BLACK,0,1); 
Здесь "WHITE" цвет текста, "BLACK" цвет "бумаги".
omercury вне форума  
Непрочитано 31.05.2011, 05:35  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Да это правильно подмечено! Текст потом окрашивается, при выводе- и делает это функция вывода текста...
В моей функции "0" это ротация (1-текст по вертикали пишется, 0-по горизонтали).
А последняя единичка это как раз "зум" текста.
__________________
Я бы изменил весь мир, но бог не дал исходников
Uragan90 вне форума  
Непрочитано 31.05.2011, 17:47  
spinach83
Временная регистрация
 
Аватар для spinach83
 
Регистрация: 30.03.2009
Сообщений: 71
Сказал спасибо: 23
Сказали Спасибо 26 раз(а) в 25 сообщении(ях)
spinach83 на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Сообщение от Uragan90 Посмотреть сообщение
А последняя единичка это как раз "зум" текста.
А как насчёт дробного "зума"?
spinach83 вне форума  
Непрочитано 31.05.2011, 22:23  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Сообщение от spinach83 Посмотреть сообщение
Для 8х8 шрифта например получается размер таблицы символов 2 килобайта? Это если 2 цвета (символ - фон) и число символов 256. А 12х12 - уже 4,5 килобайт? Насколько рационально организовать алгоритм "растягивания" шрифта, или всё же разумнее несколько шрифтов сделать для разных размеров?
Обычно несколько ограничивают количество символов. Обычно коды от 0x20 и до 0xff. Хотя это и не принципиально меняет объём занимаемой памяти. Тут надо ещё отметить, что для быстрого пересчёта и удобства распаковки шрифт по горизонтали выравнивают на число точек кратных 8. Ну, то есть символ 6х8 будет реально храниться в памяти как 8х8 только значимых точек будет 6 из 8. Символ 14х14 реально будет занимать 16х14 или 2*14 байта. Таким образом таблица знакогенератора для такого шрифта будет равна 2*14*(256-32) = 6272 байта. Если у вас 10 шрифтов, то сами понимаете. ))
Здесь надо отметить ещё один момент. Реальная ширина символа "Ш" и символа "1" - разная. Появляется понятие моноширинных шрифтов и разноширинных. Если применять разноширинные шрифты, то можно сэкономить память путём прорисовки реального символа с указанием смещения этого символа от начала таблицы (что надо, так как символы в этом случае занимают разное количество байтов). При этом вы можете иметь даже неполную таблицу символов. Так, к примеру у меня есть шрифт 32, но в нём только цифры и некоторые спецсимволы.
Приведу пример.
Код:
//символ с кодом 0021
________,
________,
________,
________,
________,
___XX___,
__XXXX__,
__XXXX__,
___XX___,
___XX___,
___XX___,
___XX___,
________,
________,
________,
___XX___,
__XXXX__,
___XX___,
________,
________,
________,
________,


//символ с кодом 0024
________,________,
________,________,
________,________,
________,________,
______X_,________,
______X_,________,
____XXXX,X_______,
__X___X_,XX______,
__X___X_,XXX_____,
_XX___X_,_X______,
_XXXX_X_,________,
__XXXXXX,X_______,
____XXXX,XX______,
______X_,XXX_____,
__X___X_,_XX_____,
_XXX__X_,_X______,
__XX__X_,_X______,
____XXXX,________,
______X_,________,
______X_,________,
______X_,________,
________,________,
SasaVitebsk вне форума  
Сказали "Спасибо" SasaVitebsk
spinach83 (01.06.2011)
Непрочитано 01.06.2011, 09:20  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Конечно использование символов разной ширины экономит память и красиво смотрится на экране, но в условиях системы с ограниченными вычислительными ресурсами лучше нескольких таблиц фиксированного размер пока не придумали.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 01.06.2011, 10:30  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Не факт. У меня 10 фонтов. 2 фиксированных 6х8 и 8х8. Остальные разноширинные. Приложение вместе с фонтами на AVR занимает 60к. Скажем фонт 16х16 наклонный занимает 8к прямой 7.
Если использовать TFT с разрешением от 320, то шрифт 8х8 вообще не разберёшь - очень мелкий будет. Так что - необходимость.
Хотя я сейчас работаю с индикатором 128х64 моно, и тоже сделал 3 шрифта 6х8, 8х8 и 13. Правда cortex.
SasaVitebsk вне форума  
Непрочитано 01.06.2011, 11:29  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Сообщение от SasaVitebsk Посмотреть сообщение
Не факт. У меня 10 фонтов. 2 фиксированных 6х8 и 8х8. Остальные разноширинные. Приложение вместе с фонтами на AVR занимает 60к.
Что не факт???
Было написано...
Цитата:
в условиях системы с ограниченными вычислительными ресурсами лучше нескольких таблиц фиксированного размер пока не придумали.
Все телодвижения с извлечением, раскодировкой и транзакцией отнимают время, превосходящее время выталкивания на TFT... вот это факт... Если камень жирный настолько, что с него течёт сало, тогда конечно... Иначе... чем проще - тем быстрее...
Цитата:
Если использовать TFT с разрешением от 320, то шрифт 8х8 вообще не разберёшь - очень мелкий будет. Так что - необходимость.
Вот это да... есть такое...
st_1 вне форума  
Непрочитано 01.06.2011, 12:50  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Сообщение от st_1 Посмотреть сообщение
Что не факт???
Было написано...

Все телодвижения с извлечением, раскодировкой и транзакцией отнимают время, превосходящее время выталкивания на TFT... вот это факт... Если камень жирный настолько, что с него течёт сало, тогда конечно... Иначе... чем проще - тем быстрее...
Вот это и не факт. Понятно, что фонты до 8 точек по горизонтали включительно эффективнее обрабатывать прямой таблицей, а при большем - уже и не факт.
Простой пример. Возьмём фонт 11х13 Courier New. Прямая таблица на 224 символа займёт 224*2*13 = 5824 байта. Реально этот шрифт (с полной таблицей) занимает 3638 байт.
О каких телодвижениях с извлеченим и раскодировкой вы говорите - тоже непонятно. Есть указатель на начало таблицы по нему прямой пересчёт - указатель на нужный символ. Дальше абсолютно идентичный вывод.
То есть для прямого вывода для приведенного шрифта прога выглядит так:
ptr += ch*2*13;
Для разноширинного:
ptr1 = ptr + ch*3;
ptr = *ptr1++;
ptr |= (*ptr1++)‹‹8;
len_sym = *ptr1;

Совершенно очевидно, что это единицы % времени от вывода символа экран.
SasaVitebsk вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Samsung LS17HAAKS белый экран dosikus Ремонт оргтехники 4 18.09.2013 00:34
Вывод на lcd nokia3310 от двух ds1820 Mitrar Микроконтроллеры, АЦП, память и т.д 10 15.03.2011 09:55
Последовательный вывод данных Mitrar Микроконтроллеры, АЦП, память и т.д 9 14.05.2010 11:57
[Решено] Помогите определить семисегментник opylk Информация по радиокомпонентам 3 18.03.2010 19:38
Радиокалькулятор ColorAndCode 9.3 optima22 Информация по радиокомпонентам 0 10.11.2009 11:01


Часовой пояс GMT +4, время: 14:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.