PowerTip PC1602-F (конт. ST7066U) Как вывести русский текст?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Вс июн 21, 2009 15:44:57

Сообщение poligon »

Здравствуйте. Имеется ЖКИ PowerTip PC1602-F Сайт производителя Сам дисплей
Производитель пишет что управляет дисплеем контроллер ST7066U. Хотя в интернете люди говорят что там KS0066U, уж не знаю почему.

Скачал библиотеку под CodeVisionAVR для KS0066U. Настроил, скомпилировал, всё работает. Но не пойму как русский текст вывести???

Нашел:

Код: Выделить всё

#pragma rl+
  lcd_putsf("Индикатор 16х02");
#pragma rl-
Но в CVAVR 2.03.4 нет pragma rl+

Сами строки выводятся так (английские):

Код: Выделить всё

//функция вывода строки из флэш памяти
void LCD_SendStringFlash(char __flash *str)
{
  unsigned char data;			
  while (*str)
  {
    data = *str++;
    LCD_WriteData(data);
  }
}

//функция вывода строки из ОЗУ
void LCD_SendString(char *str)
{
  unsigned char data;
  while (*str)
  {
    data = *str++;
    LCD_WriteData(data);
  }
}
Библиотеку прилагаю и прошу помощи. Спасибо.
Вложения
lcd-lib-codevision.rar
(1.79 КБ) 378 скачиваний
Реклама
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Сообщение Vov123 »

Не поддерживается в CVAVR 2.03.4 pragma rl+
Напиши по русски свою фразу,конвертируй её,скопируй тот бред,который "for Bascom",вставь в программу для CVAVR.На дисплее будет кириллица.
Вложения
LCD20.rar
(106.65 КБ) 431 скачивание
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Вс июн 21, 2009 15:44:57

Сообщение poligon »

Написал: "Температура". Получил: "Teјѕepaїypa"

Код: Выделить всё

LCD_SendStringFlash("Teјѕepaїypa");
Крякозяблы на дисплее. Русского нет

Я так понял прога просто заменяет буквы в соответствии с ANSI таблицей. Это не то.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

poligon, а Вы уверены, что индикатор русифицированный?

Посмотрите здесь библиотеку для LCD.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Вс июн 21, 2009 15:44:57

Сообщение poligon »

Danko писал(а):poligon, а Вы уверены, что индикатор русифицированный?
Нет не уверен. Описание на сайте скудное. Я если честно не понимаю как вообще русский вывести? Даже если взять другой русифицированный дисплей.

А с этим наверное только по точкам буквы рисовать, да? Никто для этого контроллера таким не занимался?
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Код: Выделить всё

const char message[] = {159,160,161,162,163,164,165,166,167,168} // Б Г ё Ж З И Й Л П У
lcd_gotoxy(0,0); //первая строка первая позиция
lcd_putsf(message); //вывод на экран
у меня Б Г ё Ж З И Й Л П У

А у Вас что на экране ?
Последний раз редактировалось Danko Вт фев 08, 2011 19:45:14, всего редактировалось 1 раз.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

poligon писал(а): Нет не уверен. Описание на сайте скудное. Я если честно не понимаю как вообще русский вывести? Даже если взять другой русифицированный дисплей.
А с этим наверное только по точкам буквы рисовать, да? Никто для этого контроллера таким не занимался?
На знакосинтезирующих дисплеях по точкам рисовать не получится. Хотя обычно можно несколько символов закодировать. Попробуйте поочередно вывести на экран символы с кодами 128-255, будут ли среди них русские буквы? Если нет, значит дисплей не руссифицированный.

Опередили :)
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Там прикольная кодовая таблица. Из локализации выброшены русские буквы с одинаковым начертанием с латиницей т.а. А, Р, О, и т.д.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Вс июн 21, 2009 15:44:57

Сообщение poligon »

Danko писал(а):

Код: Выделить всё

const char message[] = {159,160,161,162,163,164,165,166,167,168} // Б Г ё Ж З И Й Л П У
lcd_gotoxy(0,0); //первая строка первая позиция
lcd_putsf(message); //вывод на экран
у меня Б Г ё Ж З И Й Л П У
А у Вас что на экране ?
Белиберда выводится.

Перебрал в цикле 0-255:

Код: Выделить всё

char i;
for (i=0;i<=255;i++) {
LCD_Goto(0,0);
LCD_WriteData(i);
... // отображение на второй строке int номера
}
0-32 пусто
33-127 английский (большие/малые буквы) и цифры 0-9
128-160 пусто
161-255 крякозяблы

Причем интересно что 253 это символ: ÷

А нарисовать русский точно никак??? 2 индикатора нахаляву достались (из буржуйской техники, поэтому видно и без русского...)
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Сообщение John-RADIST »

Всем доброго времени суток!!! Подскажите сталкнулся с аналогичной проблемой вывода кирилицы на WH1602. Посмотрел пару форумов, там есть файл библиотеки lcd.lib. Я так понимаю его необходимо скопировать в папку lib, находящеюся в директории где установлен компилятор. Если не так то подскажите пожалуйста!!!
Заранее спасибо!!!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»