| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Почему нет русского в ЖКИ
28.02.2013, 02:15
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Почему нет русского в ЖКИ
Купил с китая ЖКИ 1602A. У него синий фон и белые буквы, но вот друг подключал - говорит что вместо русского отображает фигню какуюто. А на 1602 купленом у нас в украине нормально русский отображает. Что может быть?
|
|
|
|
28.02.2013, 04:24
|
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,762
Сказал спасибо: 76
Сказали Спасибо 1,840 раз(а) в 668 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Русские символы не прошиты в знакогенераторе. Это вполне закономерно для китайских дисплеев.
|
|
|
|
28.02.2013, 09:23
|
|
|
Частый гость
Регистрация: 21.02.2013
Адрес: Волгодонск
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Но они могут быть загружены в него при инициализации.
|
|
|
|
28.02.2013, 09:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от MaslovVG
|
|
Но они могут быть загружены в него при инициализации.
|
Это КАК? Ну допустим есть 8 символов определяемых пользователем, но русский алфавит малясь по больше букв содержит.
|
|
|
|
28.02.2013, 10:24
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
У 1602 скорее всего контроллер 44780. А у него русские символы есть! Только они "разбросаны" в разных местах. Разбросаны те, которым нет аналога в латинице.
Поэтому вполне достаточно при выводе делать перекодировку по таблице. В Algorithm Builder-е Громова это даже встроено в систему.
Я делал это вот так
|
PHP код:
|
// - - - - - табл. перекодировки для LCD (символы 0xC0-0xFF)
char __flash taperLCD[]={
0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
0xA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8,
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB,
0xAC,0xE2,0xAD,0xAE,0x62,0xAF,0xB0,0xB1,
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7,
0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0,
0xC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7
};
// - - - - - - - - - -
// перекодировка
// - - - - - - - - - - - - - -
char xlat(unsigned char CH)
{
if (CH ‹ 0xC0) return(CH); else return(taperLCD[CH-0xC0]);
}
|
И в процедуру вывода вставить не вывод(символ), а вывод(xlat(символ)). Это конечно лишняя работа для процессора, но все же куда удобнее иметь в исходнике выводимую строку в читабельном виде, чем в непонятных кодах...
__________________
[ жизнь приятна и красива, если выпить литр пива ]
Последний раз редактировалось nml; 28.02.2013 в 10:28.
|
|
|
|
28.02.2013, 10:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от nml
|
|
А у него русские символы есть! Только они "разбросаны" в разных местах. Разбросаны те, которым нет аналога в латинице.
|
Всё зависит от зашитой таблицы символов. Доводилось работать с такими индикаторами WM-C1601M-1TNNc. В них русские символы (за исключением совпадающих с латиницей) отсутствуют как класс. Тут смотреть надо что за индикатор и главное откуда он. Ежель с поднебесной - то в кодировке могет и латиница отсутствовать (были у меня такие бестолковые стекляшки с 44780).
|
|
|
|
28.02.2013, 11:00
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от nml
|
|
У 1602 скорее всего контроллер 44780. А у него русские символы есть! Только они "разбросаны" в разных местах. Разбросаны те, которым нет аналога в латинице.
|
У 44780 ASCII-таблица из 256 символов, в них все языки мира уместить невозможно. Скорее всего там стандартная кодировка в младших 128 символах и китайская - в старших. Никакая перекодировка не поможет. Это только в ОЛЕДах на совместимом WS0010 контроллере зашито сразу 4 ASCII страницы, и русский там обязательно есть
|
|
|
|
28.02.2013, 11:09
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от _guardianangel
|
|
Всё зависит от зашитой таблицы символов. Доводилось работать с такими индикаторами WM-C1601M-1TNNc. В них русские символы (за исключением совпадающих с латиницей) отсутствуют как класс.
|
Слышал про такое, но сам не сталкивался. Раза три работал с такими, ессно самыми что ни на есть китайскими, разными - и на 2 строки и на 4. Во всех таблица "рассыпанная" - но была.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
28.02.2013, 11:25
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,009
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от nml
|
|
У 1602 скорее всего контроллер 44780. А у него русские символы есть! Только они "разбросаны" в разных местах. Разбросаны те, которым нет аналога в латинице
|
прежде чем такое брякнуть, ознакомьтесь с ДШ на все(!) типы контроллеров. там минимум 2(!) таблицы символов, из-за которых и разная маркировка индикаторов. кроме снг и окружения типа болгарии, кириллица нах никому не нужна - иероглифы и латиница преобладают, а уж в китае...
|
|
|
|
28.02.2013, 12:18
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
|
Re: Почему нет русского в ЖКИ
Сообщение от _guardianangel
|
|
Это КАК? Ну допустим есть 8 символов определяемых пользователем, но русский алфавит малясь по больше букв содержит.
|
Если информация, выводимая в каждый момент времени, содержит не более 8 русских букв (из тех, что не имеют аналогов в латинице), то этот способ отлично работает. Правда, иной раз приходится ломать голову над составлением "хорошей" фразы.
Ну и шире на латиницу смотреть. "u" вполне заменяет "и" для которой есть отдельный символ в кириллическом знакогенераторе и т.п.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:22.
|
|