Страница 1 из 1

Cvision как писать на кирилице?

Добавлено: Вт май 10, 2011 21:43:11
rjn
значит так, есть LCD (40x4) контроллер не знаю, есть atmega8515 пишем ну например так;

void main(void)
{
char *_str="Привет"; //Создаем выводимую строку
// LCD module initialization
lcd_init(40);

while (1)
{
// Place your code here
lcd_clear(); //чистим дисплей перед выводом
lcd_gotoxy(0,0); // Переводим курсор на первый символ первой строки
lcd_puts(_str); // Выводим строку _str на дисплей ЖКИ

ну естественно получаем кракозябры, но есть одно но, иногда при написании кракозябр проскакивают русские буквы например "Д". Значит все же он может выводить русские буковки. вопрос КАК?

заранее спасибо!

Re: Cvision как писать на кирилице?

Добавлено: Вт май 10, 2011 22:03:59
Сериг
есть вункция для выведения руссича, поищи на сайте радиодед есть.

Re: Cvision как писать на кирилице?

Добавлено: Вт май 10, 2011 22:24:20
phanis
А еще бывают дисплеи с русскоязычной таблицей символов, бывают с 2-мя таблицами и более. Попробовать переключиться на нее(если есть таковая).

Re: Cvision как писать на кирилице?

Добавлено: Вт май 10, 2011 23:10:03
urry

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

//--------------
flash char cyr[67]=
{
'A',	// А
160,	// Б
'B',	// В
161,	// Г
224,	// Д
'E',	// Е
//	162,	// Ё
163,	// Ж
164,	// З
165,	// И
166,	// Й
'K',	// K
167,	// Л
'M',	// M
'H',	// H
'O',	// O
168,	// П
'P',	// P
'C',	// C
'T',	// T
169,	// У
170,	// Ф
'X',	// X
225,	// Ц
171,	// Ч
172,	// Ш
226,	// Щ
173,	// Ъ
174,	// Ы
'b',	// Ь
175,	// Э
176,	// Ю
177,	// Я
'a',	// а
178,	// б
179,	// в
180,	// г
227,	// д
'e',	// e
//	181,	// ё
182,	// ж
183,	// з
184,	// и
185,	// й
186,	// к
187,	// л
188,	// м
189,	// н
'o',	// o
190,	// п
'p',	// р
'c',	// с
191,	// т
'y',	// y
228,	// ф
'x',	// x
229,	// ц
192,	// ч
193,	// ш
230,	// щ
194,	// ъ
195,	// ы
196,	// ь
197,	// э
198,	// ю
199,	// я
};
//--------------------
void lcd_puts(char *s)
{
	char chByte;
	LCD_RS = 1;	// write characters
		do{
	chByte=*s++;

	if(chByte > 192)
		{
		chByte-=192;
		chByte=cyr[chByte];
		}
	
	lcd_write(chByte);
	}while(chByte);
}


Re: Cvision как писать на кирилице?

Добавлено: Ср май 11, 2011 07:56:52
leowka
Поиск гуглом за 1 сек, учись юзать чтоль. ПРобуй.

Для того, чтобы выводить на ЖКИ индикатор русские буквы, применяется директива #pragma rl+/rl-:

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

 #include <mega8.h>
 #include <lcd.h>
 #asm
     .equ __lcd_port=0x12; PORTD
 #endasm

 void main( void ) 
 {
   lcd_init( 16 );
   lcd_clear( );
 #pragma rl+
   lcd_gotoxy( 0,0 );
   lcd_putsf( "Индикатор 16х02" );
   lcd_gotoxy( 0,1 );
   lcd_putsf( "Тестирование ЖКИ" );
 #pragma rl-

   while( 1 ){ };
 }

Re: Cvision как писать на кирилице?

Добавлено: Ср май 11, 2011 08:01:37
urry
Эта прагма работает на младших версиях компилятора кодевижин. в отместку за то, что русскоязычные пользователи не платят за программу, автор кодевижина в старших версиях ее убрал :) .
Предложенный мной вариант более универсальный. :)

Re: Cvision как писать на кирилице?

Добавлено: Ср май 11, 2011 08:24:20
BCluster
urry писал(а):в отместку за то, что русскоязычные пользователи не платят за программу, автор кодевижина в старших версиях ее убрал
проклятый румын!

Re: Cvision как писать на кирилице?

Добавлено: Ср май 11, 2011 09:15:43
rjn
urry - спасибо сегодня пробую твой вариант, на счет прагма уже проходили.

Re: Cvision как писать на кирилице?

Добавлено: Ср май 11, 2011 20:40:24
rjn
всем спасибо, оба варианта отлично прошли. и даже с прагма в свежей версии, еще раз спасибо urry за разъяснения