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

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

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

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

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

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

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

 
Опции темы
Непрочитано 29.05.2011, 21:34  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
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.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Прямо на этом и рассмотрим. Сам шрифт "бесцветный" однобитовый. Цвет появляется при печати...
PHP код:
lcd_putstring(x,y,*mass_pamtr[i],WHITE,BLACK,0,1); 
Здесь "WHITE" цвет текста, "BLACK" цвет "бумаги".
omercury вне форума  
Непрочитано 31.05.2011, 05:35  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
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.RU
 
Регистрация: 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.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Вывод текста на экран жк

Конечно использование символов разной ширины экономит память и красиво смотрится на экране, но в условиях системы с ограниченными вычислительными ресурсами лучше нескольких таблиц фиксированного размер пока не придумали.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 01.06.2011, 10:30  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 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,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
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.RU
 
Регистрация: 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, время: 04:49.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot