Полная версия этой страницы:
Опять 16S2D
grach41
Jan 7 2008, 17:31
С НОВЫМ ГОДОМ ВСЕ !!!
наконец-то подключил LCD 16S2D к меге16 в 4битном режиме. Как не странно работает хотя МЭЛТ говорит что они не аналог HD44780. Только надо не забыть соединить выводы 1 и 3 на 16s2d . Но с русскими буквами проблема, работает только с буржуйскими. Программирую в CVAVR. Пытаюсь переключить страницу кодировки функ. _lcd_write_data(0x2A); вывожу на экран lcd_putsf( “Русский”); В VMLAB на экране осцил. Вроде всё верно. Может есть тонкости.
Aesthete Animus
Jan 7 2008, 19:04
Ну... Очень многие текстовые экранчики подключаются по стандартной четырех-/восьмибитной шине. Правда далеко не все имеют русский набор букв. Насчет переключения кодовой страницы, я не уверен, есть ли в вашем экранчике вторая кодовая страница. Не привидёте реализацию вашей фукнции lcd_putsf?
grach41
Jan 7 2008, 19:19
Это стандартная функция из CVAVR. МЭЛТ утверждает что зашил 1 страницу с русскими буквами
rezident
Jan 7 2008, 23:38
У МЭЛТовского LCD MT-16S2D первая страница со стандартным "Epson-кириллическим" знакогенератором, вторая страница знакогенератора с кодировкой WIN-1251. Нужно быть еще уверенным, что в программе строка “Русский” тоже формируется в кодировке именно WIN-1251, а не в KOI-8R или DOS или тем паче в ISO 8859-5 или даже Unicode.
По ссылке таблички с кириллицей в разных кодировках.
http://shlimazl.nm.ru/rus/cptable.htm
было уже
директива компилятору
#pragma rl+
...
#pragma rl-
включает нужную кодировку
grach41
Jan 13 2008, 19:56
Решил проблему грубой силой. Переписал библиотечную функцию в CV. Во время инициализации LCD объявил 1 страницу (0х2а). Сработало. Наверно после _lcd_write_data(0x2A); надо давать большую задержку
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.