реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> keil 4.72 русские шрифты
Alex_Golubev
сообщение Sep 11 2017, 09:15
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



Привет.
Подскажите, что нужно сделать чтобы отображалась корректно русские шрифты в программе keil 4.72?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 11 2017, 09:36
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



https://electronix.ru/forum/index.php?showtopic=101203
Go to the top of the page
 
+Quote Post
x893
сообщение Sep 11 2017, 11:25
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



В какой кодировке ?
UTF8 / UTF16 / 1251 / KOI8 ?
Вы определить какой у вас русский.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 11 2017, 12:29
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



Цитата
В какой кодировке ?
Кодировка ascii получается 1251.
Мне нужно выводить тексты на двухстрочный дисплей. Для этого нужна кириллица.
Go to the top of the page
 
+Quote Post
x893
сообщение Sep 11 2017, 12:53
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Edit - Configuration
Encoding
Russian Windows 1251

А во что эти буквы компилируются - смотрите в bin/hex или отладчиком.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 11 2017, 13:01
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



Я смотрю что выводит мне дисплей. У меня нет Russian Windows 1251.
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 11 2017, 13:06
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Вам не с кейлом, а с контроллером дисплея разбираться надо; в нём кириллицы вообще может не быть.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 11 2017, 13:10
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



В дисплее кириллица есть.
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 11 2017, 13:37
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(Alex_Golubev @ Sep 11 2017, 17:10) *
В дисплее кириллица есть.

Тогда по даташиту дисплейного контроллера посмотреть как кодовую страницу в нём включить (рискну предположить cp866) или тупо
(если он нормально управляется) вытянуть как кириллица в знакогенераторе расположена.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 11 2017, 13:45
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



В дисплее кириллица есть. Функции для работы с данным дисплеем написаны и работают в IAR. Но в keil не хотят.
Go to the top of the page
 
+Quote Post
x893
сообщение Sep 11 2017, 16:19
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Keil 5
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 11 2017, 18:24
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(Alex_Golubev @ Sep 11 2017, 17:45) *
В дисплее кириллица есть. Функции для работы с данным дисплеем написаны и работают в IAR. Но в keil не хотят.

Насколько же этот пост отличается от стартового (; подробности клещами вытягиваются. Функции вашего авторства? А содержимое строк для отображения (hex значения подразумеваю) совпадает у IAR-а и Keil-а? Исходники у одного могли быть в win1251, а у другого в юникоде.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 12 2017, 01:42
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



Более лучше разобрался оказалось кириллица работает. Но в редакторе вместо кириллицы кракозябры. Функции писал сам.
CODE
void LCD_cmd (char param)
{
xdata char i;
P2 = P2 & ~RS & ~RW & ~E;
for(i=0;i!=REACTTIME;i++);
P2 = P2 | E;
for(i=0;i!=REACTTIME;i++);
P0 = param;
for(i=0;i!=REACTTIME;i++);
P2 = P2 & ~E;
for(i=0;i!=REACTTIME;i++);
}

void LCD_data(char Data)
{
xdata char i;
P2 = P2 & ~RW | RS;
for(i=0;i!=REACTTIME;i++);
P2 = P2 | E;
for(i=0;i!=REACTTIME;i++);
P0 = Data;
for(i=0;i!=REACTTIME;i++);
P2 = P2 & ~E;
for(i=0;i!=REACTTIME;i++);
}

void LCD_start (void)
{
LCD_cmd(0x38);
LCD_cmd(0x01);
LCD_cmd(0x06);
LCD_cmd(0x0C);
LCD_cmd(SCR_CLR);
LCD_cmd(RST_AC);
}

void SendCharLCD (char chr)
{
LCD_data(chr);
}

//--------------------------------
// Таблицы символов
// Win
code const unsigned char WinTable [] =
{
'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И',
'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т',
'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ь', 'Ы', 'Ъ',
'Э', 'Ю', 'Я',
'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и',
'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т',
'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ь', 'ы', 'ъ',
237 ,238, 239,
};
// Дисплей
code const unsigned char DispTable [] =
{
0x41, 0xA0, 0x42, 0xA1, 0xE0, 0x45, 0xA2, 0xA3, 0xA4, 0xA5,
0xA6, 0x4B, 0xA7, 0x4D, 0x48, 0x4F, 0xA8, 0x50, 0x43, 0x54,
0xA9, 0xAA, 0x58, 0xE1, 0xAB, 0xAC, 0xE2, 0x62, 0xAE, 0xAD,
0xAF, 0xB0, 0xB1,
0x61, 0xB2, 0xB3, 0xB4, 0xE3, 0x65, 0xB5, 0xB6, 0xB7, 0xB8,
0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0x6F, 0xBE, 0x70, 0x63, 0xBF,
0x79, 0xE4, 0x78, 0xE5, 0xC0, 0xC1, 0xE6, 0xC4, 0xC3, 0xC2,
0xC5, 0xC6, 0xC7,
};
//--------------------------------
// Перекодировка символа
unsigned char WinToDisp ( unsigned char c )
{
xdata unsigned char i;
for ( i = 0; i < sizeof ( WinTable ); i++ ) if ( c == WinTable [ i ] ) return ( DispTable [ i ] );
return ( c );
} // WinToDisp

Кракозябры сильно мешают мне. Можно конечно писать в редакторе. Но это очень не удобно.

Сообщение отредактировал Alex_Golubev - Sep 12 2017, 01:44
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 12 2017, 05:48
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(Alex_Golubev @ Sep 12 2017, 04:42) *
Функции писал сам.
Код
// Перекодировка символа
unsigned char WinToDisp ( unsigned char c )
{
  xdata unsigned char i;
  for ( i = 0; i < sizeof ( WinTable ); i++ ) if ( c == WinTable [ i ] ) return ( DispTable [ i ] );
  return ( c );
} // WinToDisp

Барин знает толк в извращениях. Раз уж написали таблицу перекодировки, пользуйтесь ей
CODE
void LCD_Print_Char(char c)
{
LCD_data(codepage[(uint8_t)c]);
}

const uint8_t codepage[256]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,
48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,
64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,
96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,0xE9,127,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xCA,0xCB,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0xA2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xB5,0,0,0,0,0,0,0,
0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
0xA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8,
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB,
0xAC,0xE2,0xAD,0xAE,0x62,0xAF,0xB0,0xB1,
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7,
0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0,
0xC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7
};
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Sep 12 2017, 07:42
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 18-03-17
Пользователь №: 95 877



Ну так научите меня как правильно делать.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 11:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016