Отговори на тема  [ 12 мнения ] 
кирилизация на LCD 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Яну 18, 2006 7:19 pm
Мнения: 127
Мнение кирилизация на LCD
имам LCD с кирлизация, някои писал ли е код на С да вади символите без да си играя да пиша кода на всеки символ
като си пиша "Abcdef" нямам проблеми ама с кирлицата се разминава ASCII таблицата от на проца и на компилатора


Съб Сеп 09, 2006 11:34 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Различават се таблиците на компа и на знакогенератора на LCD-то. Оттам ти идва проблемът. Аз не знам как може да се направи най-добре, аз го правя така: дефинирам си една константа - масив 256 знака, като индекс ми е ASCII кодът, който искам да изведа на дисплея, а стойността - кодът, който трябва да запиша в дисплея, за да се изведе символът, който искам. Недостатъкът е, че имаш в повече едно ровене в таблица и 256 байта.
Сигурно има и по-смислено решение, който го знае, да не си трае!

Едит: Реално масивът не е 256 байта, а по-малко. Първите 128 са си ОК и там не трябва прекодиране.


Съб Сеп 09, 2006 12:13 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Вероятно говорите за HD44780-базираните, в такъв случай го правя по начина, който батето описва, таблицата е 128 байтова, наскоро пробвах в симулатора да пусна HD44780 с таблица за графичен дисплей (5х8 с кирилица) като чертая в CGRAM и после драскам по дисплея, там обаче времето за изчертаване е доста по-голямо, а и таблицата само с кирилица е 500 байта, но това е в случай в който дисплея няма кирилица.


Съб Сеп 09, 2006 3:16 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Може и да е баламско и малко хамалско, но когато съм ограничен от към памет го правя така - направил съм си табличка с ASCII кодвете на кирилишките букви в дисплея , в програмата си декларирам константни стрингове с ASCII кодовете за всяко едно нещо което искам да ми излезе на БГ и когато ми потрябва печатам стринга. Неудобното е че иска малко играчка да прехвърляш думите в ASCII последователности, примерно за Температура - $54,$65,$BC,$BE,$65,$70,$61,$BF,$79,$70,$61, 0 но като му свикнеш .


Нед Сеп 10, 2006 9:09 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Яну 18, 2006 7:19 pm
Мнения: 127
Мнение 
и аз за нещо такова си мислех да си напиша стринговете предварително , обаче ми се видя голяма играчка :)) може би така ще стане, правих го и по друг начин имам конвертер "BIN HEX ASCII COLOR DEC" от там си пиша HEX-а отдолу ми излиза буквения еквивалент Copy - Paste - и се получват едни много странни думички с яроглифи но като цяло LCD -то изкарва така кирлица :)))))) и пак си е гърбия


Нед Сеп 10, 2006 11:17 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Че си е гърч да се пишат - така си е, но като свикнеш с кодовете си пишеш без да гледаш аски таблицата. Някой друг да се сеща за по добро решение без ровене в таблица? Не съм чел подробно документацията, дали не може да се препрограмира знаковия генератор на дисплея или си е твърдо зададе?


Нед Сеп 10, 2006 11:41 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Яну 18, 2006 7:19 pm
Мнения: 127
Мнение 
мода да си добавя още 16 символа , оабче знаковата таблица е в РОМ-а на LCD-то


Нед Сеп 10, 2006 11:43 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
как са наредени буквите в лцдто? ако са наредени по латинската азбука, няма как освен таблица. но ако са наредени по българската азбука, просто добавяш някакъв офсет.


Нед Сеп 10, 2006 1:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
zaphod написа:
как са наредени буквите в лцдто? ако са наредени по латинската азбука, няма как освен таблица. но ако са наредени по българската азбука, просто добавяш някакъв офсет.


Различно. Най-често в знакогенератора липсват тези кирилски букви, които изглеждата еднакво и на латиница. Напр. кирилицата "АВЕКМНОР .. " просто я няма. Вместо нея слагаш латинските такива. Само с таблица май ще стане. :cry:


Нед Сеп 10, 2006 1:36 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
а, ясно. таблица, таблица.


Нед Сеп 10, 2006 6:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Таблица, аски стринг или производителите да си коригират кодовата таблица :wink:


Нед Сеп 10, 2006 7:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
bateAz написа:
Различават се таблиците на компа и на знакогенератора на LCD-то. Оттам ти идва проблемът. Аз не знам как може да се направи най-добре, аз го правя така: дефинирам си една константа - масив 256 знака, като индекс ми е ASCII кодът, който искам да изведа на дисплея, а стойността - кодът, който трябва да запиша в дисплея, за да се изведе символът, който искам. Недостатъкът е, че имаш в повече едно ровене в таблица и 256 байта.
Сигурно има и по-смислено решение, който го знае, да не си трае!

Едит: Реално масивът не е 256 байта, а по-малко. Първите 128 са си ОК и там не трябва прекодиране.


1-во правило на програмистите - никога не прави всеки път нещо, което може да се направи еднократно. ;) По-ефективното решение е дефиниране на таблица със стрингови константи, които се прекодират еднократно при инициализация.


Пон Сеп 18, 2006 8:25 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни