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

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

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

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

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

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

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

 
Опции темы

Кирилица на LCD

Непрочитано 12.08.2008, 08:56  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию Кирилица на LCD

Здравствуйте, хочу спросить следущее:

при использовании const unsigned char для вывода кирилицы на LCD почему-то объединяются несколько переменных?

const unsigned char Vnimanie [] = {0x42, 0xbd, 0xb8, 0xbc, 0x61, 0xbd, 0xb8, 0x65}; //"Внимание"

const unsigned char termodatcik1ov1 [] = {0xbf,0x65,0x70,0xbc,0x6f,0x67,0x61,0xbf,0xc0,0xb8 ,0xba,0x28,0x6f,0xb3,0x29};

//здесь вывожу
lcd_clear ();

lcd_gotoxy (0, 0); //выводим предупреждение на LCD "! Внимание термодатчик(ов) не обнаружен(о) !"
lcd_putsf ("!");

lcd_gotoxy (2, 0);
lcd_putsf (Vnimanie);

lcd_gotoxy (11, 0);
lcd_putsf (termodatcik1ov1);

lcd_gotoxy (27, 0);
lcd_putsf (ne);

lcd_gotoxy (0, 1);
lcd_putsf (obnarugen1o1);

lcd_gotoxy (13, 1);
lcd_putsf ("!");

И у меня все смешивается.

---
Спасибо, с уважением, Олег.
Реклама:
nagano вне форума  
Непрочитано 12.08.2008, 09:59  
GLVlad
Временная регистрация
 
Регистрация: 29.09.2006
Сообщений: 64
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 1 сообщении
GLVlad на пути к лучшему
По умолчанию

Как все сложно.
Судя по коду, пользовал CodevisionAVR. Когда-то тоже в нем писал.

Библиотека lcd поддерживает перенос строки в сообщениях. И Ваше сообщение можно вывести попроще:
const char lcdmsg[] = "Line1 msg
Line2 msg"; // в кодах набирать поленился
lcd_clear(); // очичает и переводит курсор в (0,0)
lcd_puts(lcdmsg);
GLVlad вне форума  
Непрочитано 13.08.2008, 08:08  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию

Да так получится, но мне все же интересно как выводить сообщения на LCD содержащие одинаковые фразы, почему они смешиваются?
Вот исходник с результатом:

-- Прилагается рисунок: --


Прикрепленный файл: 6974086.rar
nagano вне форума  
Непрочитано 13.08.2008, 10:22  
GLVlad
Временная регистрация
 
Регистрация: 29.09.2006
Сообщений: 64
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 1 сообщении
GLVlad на пути к лучшему
По умолчанию

Для 4-строчного индикатора используется отдельная библиотека. Я с ней не работал, сказать ничего не могу. Но где-то читал, что может она быть сыровата. Правда точно и не уверен в этом.

Просто рекомендую сделать все пошагово. Включить курсор, проверить как работает lcd_gotoxy(), или вводить задержки на 1-2 сек перед выводом сообщения на ЖКИ, чтобы видеть, где сбоит.
GLVlad вне форума  
Непрочитано 14.08.2008, 09:57  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию

В общем, добавил нули в конце строк для вывода на LCD, теперь выводятся нормально.
Буду продолжать совершенствовать свою конструкцию.
nagano вне форума  
Непрочитано 14.08.2008, 09:57  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию

В общем, добавил нули в конце строк для вывода на LCD, теперь выводятся нормально.
Буду продолжать совершенствовать свою конструкцию.
nagano вне форума  
Непрочитано 14.08.2008, 12:40  
GLVlad
Временная регистрация
 
Регистрация: 29.09.2006
Сообщений: 64
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 1 сообщении
GLVlad на пути к лучшему
По умолчанию

Странно, я никогда не ставил в конце строк '\0' и работало нормально. Сам компилятор ставит в конце строк нули. Более того, он выравнивает по границе слова, т.е. ставит два нуля если четное количество символов в строке.
GLVlad вне форума  
Непрочитано 14.08.2008, 15:06  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию

Сообщение от GLVlad
Странно, я никогда не ставил в конце строк '\0' и работало нормально. Сам компилятор ставит в конце строк нули. Более того, он выравнивает по границе слова, т.е. ставит два нуля если четное количество символов в строке.
Я имел ввиду:
было
Код:
const unsigned char Vnimanie [] = {0x42, 0xbd, 0xb8, 0xbc, 0x61, 0xbd, 0xb8, 0x65}; //"Внимание"
,а должно быть
Код:
const unsigned char Vnimanie [] = {0x42, 0xbd, 0xb8, 0xbc, 0x61, 0xbd, 0xb8, 0x65, 0}; //"Внимание"
nagano вне форума  
Непрочитано 15.08.2008, 22:10  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Вообще то предыдущие строки стирать надо перед выводом...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 18.08.2008, 10:10  
nagano
Прописка
 
Регистрация: 15.01.2008
Сообщений: 120
Сказал спасибо: 5
Сказали Спасибо 1 раз в 1 сообщении
nagano на пути к лучшему
По умолчанию

Сообщение от dosikus
Вообще то предыдущие строки стирать надо перед выводом...
вообще-то стирал, что нужно было
nagano вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LCD со встроенным МК Alex_Megavolt_79 Микроконтроллеры, АЦП, память и т.д 5 17.10.2007 23:06
2-x Строчный LCD и ПК targetorsk Микроконтроллеры, АЦП, память и т.д 1 09.02.2007 12:35
lcd+atmega sma-etu Микроконтроллеры, АЦП, память и т.д 4 09.02.2007 10:29
LCD ur5mjc Информация по радиокомпонентам 3 09.01.2007 02:59


Часовой пояс GMT +4, время: 18:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.