Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.04.2011, 18:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Вывод текста на экран жк
Здравствуйте! Пытаюсь вывести текст на дисплей. Но чет не выходит... МК at91sam7 и экранчик к нему подключен от телефона 320х240. Почемуж не прет Помогите ошибку узреть
PHP код:
|
#define DISP_W 320 - ширина дисплея в пикселах - 320
#define DISP_H 240 - высота дисплея в пикселах - 240
#define CHAR_H 8 - высота буквы шрифта в пикселах - 8
#define CHAR_W 8 - ширина буквы шрифты в пикселах - 8
unsigned short textcolor = 0x0000; //цвет выводимого текста черный
//unsigned test_fond(void);
char txt[]={'H','e','l','l','o',' ',' ','u','r','a','g','a',n}; // Тестовая строка выводимая на индикатор
int main(void)
{
int i;
i=0;
while (txt[i]!=0) // Вывод строки текста txt
{
lcd_putchar(45+i*CHAR_W,60,txt[i],0); // Выводим посимвольно строку
i++;
}
|
Нидер с массивом буков
PHP код:
|
#ifndef __CHARMAP_H__
#define __CHARMAP_H__
// Data --------------------------------------------------------------------------------------
const char font_8x8[] = {// CharGen Table 8x8
...
0x18, 0x66, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0x00, // 192 [А]
0xFE, 0x66, 0x60, 0x7C, 0x66, 0x66, 0xFC, 0x00, // 193 [Б]
0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, // 194 [В]
...
};
#endif
|
__________________
Я бы изменил весь мир, но бог не дал исходников
Последний раз редактировалось Uragan90; 14.04.2011 в 20:34.
|
|
|
|
14.04.2011, 20:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Вывод текста на экран жк
Для начала строку нужно терминировать нулем, т.к. последующая функция вывода последовательности символов ловит этот ноль и прекращает вывод, отловив его.
Зачем было приводить весь знакогенератор? Для солидности?
|
|
|
|
14.04.2011, 20:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Вывод текста на экран жк
ut1wpr, поправил, лишнее выкинул. Так... Погодьте, что со строкой сделать? термин.анулировать Шутка, просто я такаго термина не знаю, я в деревни живу так что надо б разъяснить.
Вообще я этот код пытаюсь партировать с дисплея сименс с65, пока неудачно к сожалению, может попроще есть вариант вывода текста????
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
14.04.2011, 21:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Вывод текста на экран жк
Uragan90, Напишите просто
char txt[]={"Hello, uragan"}; // Тестовая строка выводимая на индикатор
ноль в конце компилятор сам добавит. )
Последний раз редактировалось AJScorp; 14.04.2011 в 21:19.
Причина: очепятка
|
|
|
|
14.04.2011, 21:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Вывод текста на экран жк
AJScorp, Да так и буду пробовать. Там еще засада с этой шнягой
PHP код:
|
void lcd_putchar(unsigned char x, unsigned char y, char c, unsigned char rot)
{
unsigned char h,ch,p,mask;
lcd_wrcmd(0xEF90);
if (rot)
{
lcd_wrcmd(0x0500);
lcd_wrcmd(0x0800+x);
lcd_wrcmd(0x0A00+y);
lcd_wrcmd(0x0900+x+CHAR_W-1);
lcd_wrcmd(0x0B00+y+CHAR_H-1);
}
else
{
lcd_wrcmd(0x0504);
lcd_wrcmd(0x0800+y);
lcd_wrcmd(0x0A00+x);
lcd_wrcmd(0x0900+y+CHAR_H-1);
lcd_wrcmd(0x0B00+x+CHAR_W-1);
}
for (h=0; h {
if (rot)
ch=ascii_tab[ c-32 ][h];
else
ch=ascii_tab[ c-32 ][CHAR_H-h-1];
mask=0x80;
for (p=0; p {
if (ch&mask)
{
lcd_wrdata(textcolor);
}
else
{
lcd_wrdata(backcolor);
}
mask=mask/2;
} // for p
}
}
|
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
14.04.2011, 21:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Вывод текста на экран жк
Ротацию текста нужно выкинуть... rot
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
14.04.2011, 21:20
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Вывод текста на экран жк
Сообщение от Uragan90
|
Вообще я этот код пытаюсь партировать с дисплея сименс с65, пока неудачно к сожалению, может попроще есть вариант вывода текста????
|
У тебя lcd_putchar() так же как в сименсе сделана ?
Ты ее отдельно проверял ? Выводил одиночный символ ?
__________________
Осторожно , злой кот
|
|
|
|
14.04.2011, 21:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Вывод текста на экран жк
Сообщение от Uragan90
|
засада с этой шнягой
|
Что-то я в упор не пойму, что здесь с циклами... В первый раз вижу подобную запись.
Код:
|
for (h=0; h {
if (rot)
ch=ascii_tab[ c-32 ][h];
else
ch=ascii_tab[ c-32 ][CHAR_H-h-1];
mask=0x80;
for (p=0; p {
if (ch&mask)
{
lcd_wrdata(textcolor);
}
else
{
lcd_wrdata(backcolor);
}
mask=mask/2;
} // for p
} |
Что за компилятор?
Последний раз редактировалось AJScorp; 14.04.2011 в 21:31.
|
|
|
|
14.04.2011, 21:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Вывод текста на экран жк
Сообщение от dosikus
|
У тебя lcd_putchar() так же как в сименсе сделана ?
Ты ее отдельно проверял ? Выводил одиночный символ ?
|
Я попробовал на дурака, но естественно не пошло потому как у меня в ините дисплея другие регистры и значения в них тоже будут совсем друге
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
14.04.2011, 21:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Вывод текста на экран жк
Сообщение от AJScorp
|
В первый раз вижу подобную запись.
|
Сам в шоке
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:51.
|
|