Экран графический....ему глубоко пофиг какой язык....проблема может быть только в программе МК а точнее - в таблице знакогенератора.....мне например лень было делать таблицу в два раза больше чем есть просто ради русского языка...хотя с компа шлю и русский тоже....проде как без проблем пока
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
Эт я понямаю что дисплей графический и ему только бы таблица была... Возможно проблема в самом выводе и команде
Код:
sprintf(str, "АБВ");
Таблцу шрыфтов брал написаную Rimsky только переделал под синтаксис CVAVR Кажись теперь нашол проблему, осталось только додумать как её решить. Таблицу то я дописал, а вот функцию вывода символа не переделал. Теперь осталось додумать эту функцию.
Код:
void lcd_putch (unsigned char c) { unsigned char i=0;
if (c>'z' || c<32) { return; }
for (i=0; i<5; i++) { lcd_send (font[c-32][i], lcd_data); }
Решение нашол на kazus.ru может на первый взгляд не очень простое зато работает Дорабатывал что бы можно было выводить украинские буквы (і ї є), тоже сделал наверное не самым лучшим способом но работает прикрепляю фалы (с kazus.ru и то что у меня сейчас) может кому то пригодятся.
Вложения:
Комментарий к файлу: с украинскими буквами lcd.rar [3.26 KiB]
Скачиваний: 454
Комментарий к файлу: c kazus.ru lcd3310.zip [3.98 KiB]
Скачиваний: 520
Хлопцы! выручите написал частотомер, вольтметр - все работает! а вывести умею только целые значения. а хочется с точностью до 2 знаков после запятой. Подскажите, пожалуйста как это реализовать
demonchik, сходите по ссылке, которую я в этой теме дал, там в последнем сообщении будет файл doz.c. В обработчике прерывания interrupt [ADC_INT] void adc_isr(void) найдете нужный вам код. Код не мой, стянул давненько с какого-то сайта по источникам питания с микроконтроллерным управлением.
вроде как понятно. смущает строка: itoa(b,buf); - что она делает?
Просто на будущее: Эта строка превращает 16 битное целое число (INT) в массив символов ASCI. Название сей функции, являющейся стандартной для СИ, так и расшифровывается: integer to ASCI. Вот например:
b=0х7В; (Как известно, это 123) => itoa(b,buf); => В массиве buf будет находиться четыре байта: '1' (0x31), '2'(0x32), '3'(0x33) и '\0'(0x0A-завершение текстовой строки)
Привет, уважаемые коты! подскажите, как правильно выводить массив картинки на этот замечательный дисплейчик. как я понимаю должно быть вроде //---------- char image[504]={......};
while(i<504) { lcd_send(*image++); }
если так, то какие функции должна включать ф. lcd_send() ?
я бы сам додумался, но это будет нескоро- голова загружена учебой... тяжело переключаться между разными родами деятельности
подскажите пожалуйста, для того что бы паралельно два дисплея работали, нужно выводы SCE развести на разные порты и низким уровнем на нужном дисплее выбирать дисплей на который будут выводиться данные?
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Проект Римского у меня заработал с первого раза. Компилировал в AVR Studio. Ошибок и предупреждений небыло. Спасибо огромное за шаблон. Тем более на ассемблере. Только я не понял? Нахрена там нужна инициализация таймера и его практически пустой обработчик? Я выкинул из исходника инициализацию таймера и его обработчик = всё равно работает.
_________________ I am DX168B and this is my favourite forum on internet!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения