Форум РадиоКот • Просмотр темы - STM32 новичку в ARM что к чему
Сообщения без ответов | Активные темы
Страница 424 из 424
[ Сообщений: 8464 ]
... , , , ,
Автор
Сообщение
amv2000
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Вт апр 30, 2024 00:05:20
Опытный кот
Карма: 5
Рейтинг сообщений: 44
Зарегистрирован: Вт апр 26, 2011 13:58:36Сообщений: 714Откуда: Ростовская область
Рейтинг сообщения: 0
Добрый вечер! Пытаюсь разобраться с русским шрифтом на GLCD. В функции вывода символа
Спойлер void _DrawChar_5x8(uint16_t x, uint16_t y, uint16_t textcolor, uint16_t textbgcolor, unsigned char c) { if((x >= 320) || (y >= 240) || ((x + 4) < 0) || ((y + 7) < 0)) return; if(c<128) c = c-32; if(c>=144 && c<=175) c = c-48; if(c>=128 && c<=143) c = c+16; if(c>=176 && c<=191) c = c-48; if(c>191) return; for (uint8_t i=0; i<6; i++ ) { uint8_t line; if (i == 5) line = 0x00; else line = font[(c*5)+i]; for (uint8_t j = 0; j<8; j++, line >>= 1) { if (line & 0x01) { if(GUI()->textsize == 1) { tft_PIXEL_draw( x+i, y+j, GUI()->textcolor ); } else { tft_RECT_fill(x+(i*GUI()->textsize), y+(j*GUI()->textsize), GUI()->textsize, GUI()->textsize, GUI()->textcolor); } } else if( GUI()->textbgcolor != GUI()->textcolor ) { if(GUI()->textsize == 1) { tft_PIXEL_draw(x+i, y+j, GUI()->textbgcolor); } else { tft_RECT_fill(x+(i*GUI()->textsize), y+(j*GUI()->textsize), GUI()->textsize, GUI()->textsize, GUI()->textbgcolor); } } } } } Код:
if(c<128) c = c-32; if(c>=144 && c<=175) c = c-48; if(c>=128 && c<=143) c = c+16; if(c>=176 && c<=191) c = c-48; if(c>191) return;
Эти строки, что за смещение? Откуда 144,175 если в ASCII кириллица со 192, чего то не в тыкаю. сам файл шрифта 5х7
Спойлер #ifndef FONT5X7_H #define FONT5X7_H #include "common.h" //---------- // Стандартный шрифт ASCII 5x7. //---------- static const uint8_t font[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x18, 0x3C, 0x18, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x18, 0x24, 0x18, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x26, 0x29, 0x79, 0x29, 0x26, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x60, 0x60, 0x60, 0x60, 0x60, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x20, 0x10, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x06, 0x0E, 0x3E, 0x0E, 0x06,// Непечатаемые символы таблицы ascii - 32 //156 0x00, 0x00, 0x00, 0x00, 0x00,// (space) 0x00, 0x00, 0x5F, 0x00, 0x00,// ! 0x00, 0x07, 0x00, 0x07, 0x00,// " 0x14, 0x7F, 0x14, 0x7F, 0x14,// # 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ 0x23, 0x13, 0x08, 0x64, 0x62,// % 0x36, 0x49, 0x55, 0x22, 0x50,// & 0x00, 0x05, 0x03, 0x00, 0x00,// ' 0x00, 0x1C, 0x22, 0x41, 0x00,// ( 0x00, 0x41, 0x22, 0x1C, 0x00,// ) 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * 0x08, 0x08, 0x3E, 0x08, 0x08,// + 0x00, 0x50, 0x30, 0x00, 0x00,// , 0x08, 0x08, 0x08, 0x08, 0x08,// - 0x00, 0x60, 0x60, 0x00, 0x00,// . 0x20, 0x10, 0x08, 0x04, 0x02,// / 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 0x42, 0x61, 0x51, 0x49, 0x46,// 2 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 0x27, 0x45, 0x45, 0x45, 0x39,// 5 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 0x01, 0x71, 0x09, 0x05, 0x03,// 7 0x36, 0x49, 0x49, 0x49, 0x36,// 8 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 0x00, 0x36, 0x36, 0x00, 0x00,// : 0x00, 0x56, 0x36, 0x00, 0x00,// ; 0x00, 0x08, 0x14, 0x22, 0x41,// < 0x14, 0x14, 0x14, 0x14, 0x14,// = 0x41, 0x22, 0x14, 0x08, 0x00,// > 0x02, 0x01, 0x51, 0x09, 0x06,// ? 0x32, 0x49, 0x79, 0x41, 0x3E,// @ 0x7E, 0x11, 0x11, 0x11, 0x7E,// A (65) 0x7F, 0x49, 0x49, 0x49, 0x36,// B 0x3E, 0x41, 0x41, 0x41, 0x22,// C 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 0x7F, 0x49, 0x49, 0x49, 0x41,// E 0x7F, 0x09, 0x09, 0x01, 0x01,// F 0x3E, 0x41, 0x41, 0x51, 0x32,// G 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 0x00, 0x41, 0x7F, 0x41, 0x00,// I 0x20, 0x40, 0x41, 0x3F, 0x01,// J 0x7F, 0x08, 0x14, 0x22, 0x41,// K 0x7F, 0x40, 0x40, 0x40, 0x40,// L 0x7F, 0x02, 0x04, 0x02, 0x7F,// M 0x7F, 0x04, 0x08, 0x10, 0x7F,// N 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 0x7F, 0x09, 0x09, 0x09, 0x06,// P 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q 0x7F, 0x09, 0x19, 0x29, 0x46,// R 0x46, 0x49, 0x49, 0x49, 0x31,// S 0x01, 0x01, 0x7F, 0x01, 0x01,// T 0x3F, 0x40, 0x40, 0x40, 0x3F,// U 0x1F, 0x20, 0x40, 0x20, 0x1F,// V 0x7F, 0x20, 0x18, 0x20, 0x7F,// W 0x63, 0x14, 0x08, 0x14, 0x63,// X 0x03, 0x04, 0x78, 0x04, 0x03,// Y 0x61, 0x51, 0x49, 0x45, 0x43,// Z (90) 0x00, 0x00, 0x7F, 0x41, 0x41,// [ 0x02, 0x04, 0x08, 0x10, 0x20,// "\" 0x41, 0x41, 0x7F, 0x00, 0x00,// ] 0x04, 0x02, 0x01, 0x02, 0x04,// ^ 0x40, 0x40, 0x40, 0x40, 0x40,// _ 0x00, 0x01, 0x02, 0x04, 0x00,// ` 0x20, 0x54, 0x54, 0x54, 0x78,// a (97) 0x7F, 0x48, 0x44, 0x44, 0x38,// b 0x38, 0x44, 0x44, 0x44, 0x20,// c 0x38, 0x44, 0x44, 0x48, 0x7F,// d 0x38, 0x54, 0x54, 0x54, 0x18,// e 0x08, 0x7E, 0x09, 0x01, 0x02,// f 0x08, 0x14, 0x54, 0x54, 0x3C,// g 0x7F, 0x08, 0x04, 0x04, 0x78,// h 0x00, 0x44, 0x7D, 0x40, 0x00,// i 0x20, 0x40, 0x44, 0x3D, 0x00,// j 0x00, 0x7F, 0x10, 0x28, 0x44,// k 0x00, 0x41, 0x7F, 0x40, 0x00,// l 0x7C, 0x04, 0x18, 0x04, 0x78,// m 0x7C, 0x08, 0x04, 0x04, 0x78,// n 0x38, 0x44, 0x44, 0x44, 0x38,// o 0x7C, 0x14, 0x14, 0x14, 0x08,// p 0x08, 0x14, 0x14, 0x18, 0x7C,// q 0x7C, 0x08, 0x04, 0x04, 0x08,// r 0x48, 0x54, 0x54, 0x54, 0x20,// s 0x04, 0x3F, 0x44, 0x40, 0x20,// t 0x3C, 0x40, 0x40, 0x20, 0x7C,// u 0x1C, 0x20, 0x40, 0x20, 0x1C,// v 0x3C, 0x40, 0x30, 0x40, 0x3C,// w 0x44, 0x28, 0x10, 0x28, 0x44,// x 0x0C, 0x50, 0x50, 0x50, 0x3C,// y 0x44, 0x64, 0x54, 0x4C, 0x44,// z (122) 0x00, 0x08, 0x36, 0x41, 0x00,// { 0x00, 0x00, 0x7F, 0x00, 0x00,// | 0x00, 0x41, 0x36, 0x08, 0x00,// } 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> 0x08, 0x1C, 0x2A, 0x08, 0x08,// <- //96 0x7E, 0x11, 0x11, 0x11, 0x7E,// A (128) 0x7F, 0x49, 0x49, 0x49, 0x30,// Б 0x7F, 0x49, 0x49, 0x49, 0x36,// B 0x7F, 0x01, 0x01, 0x01, 0x01,// Г 0x60, 0x3F, 0x21, 0x3F, 0x60,// Д 0x7F, 0x49, 0x49, 0x49, 0x41,// E 0x63, 0x14, 0x7F, 0x14, 0x63,// Ж 0x49, 0x49, 0x49, 0x49, 0x36,// З 0x7F, 0x10, 0x08, 0x04, 0x7F,// И 0x7F, 0x10, 0x09, 0x04, 0x7F,// Й 0x7F, 0x08, 0x14, 0x22, 0x41,// К 0x40, 0x3F, 0x01, 0x01, 0x7F,// Л 0x7F, 0x02, 0x04, 0x02, 0x7F,// М 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 0x7F, 0x01, 0x01, 0x01, 0x7F,// П (143) 0x7F, 0x09, 0x09, 0x09, 0x06,// P 0x3E, 0x41, 0x41, 0x41, 0x22,// C 0x01, 0x01, 0x7F, 0x01, 0x01,// T 0x63, 0x14, 0x08, 0x04, 0x03,// У 0x3E, 0x41, 0x7F, 0x41, 0x3E,// Ф 0x63, 0x14, 0x08, 0x14, 0x63,// X 0x3F, 0x20, 0x20, 0x3F, 0x60,// Ц 0x07, 0x08, 0x08, 0x08, 0x7F,// Ч 0x7F, 0x40, 0x7F, 0x40, 0x7F,// Ш 0x3F, 0x20, 0x3F, 0x20, 0x7F,// Щ (153) 0x01, 0x7F, 0x48, 0x48, 0x30,// Ъ 0x3C, 0x41, 0x42, 0x20, 0x7C,// ѝ 0x7F, 0x08, 0x3E, 0x41, 0x3E,// Ю 0x46, 0x29, 0x19, 0x09, 0x7F,// Я //30 0x20, 0x54, 0x54, 0x54, 0x78,// а (158) 0x7E, 0x49, 0x45, 0x45, 0x39,// б 0x7C, 0x54, 0x54, 0x58, 0x20,// в 0x7C, 0x04, 0x04, 0x04, 0x04,// г 0x08, 0x14, 0x54, 0x54, 0x3C,// д 0x38, 0x54, 0x54, 0x54, 0x18,// е 0x44, 0x28, 0x7C, 0x28, 0x44,// ж 0x54, 0x54, 0x54, 0x54, 0x28,// з 0x3C, 0x40, 0x40, 0x20, 0x7C,// и 0x3C, 0x41, 0x42, 0x21, 0x7C,// й 0x00, 0x7C, 0x10, 0x28, 0x44,// к 0x40, 0x3C, 0x04, 0x04, 0x7C,// л 0x7C, 0x08, 0x10, 0x08, 0x7C,// м 0x00, 0x7C, 0x10, 0x10, 0x7C,// н 0x38, 0x44, 0x44, 0x44, 0x38,// о 0x00, 0x7C, 0x04, 0x04, 0x7C,// п 0x7C, 0x14, 0x14, 0x14, 0x08,// р 0x38, 0x44, 0x44, 0x44, 0x20,// с (175) 0x04, 0x04, 0x7C, 0x04, 0x04,// т 0x0C, 0x50, 0x50, 0x50, 0x3C,// у 0x38, 0x44, 0x7C, 0x44, 0x38,// ф 0x44, 0x28, 0x10, 0x28, 0x44,// х 0x3C, 0x20, 0x20, 0x3C, 0x60,// ц 0x00, 0x0C, 0x10, 0x10, 0x7C,// ч 0x7C, 0x40, 0x7C, 0x40, 0x7C,// ш 0x3C, 0x20, 0x3C, 0x20, 0x7C,// щ 0x04, 0x7C, 0x50, 0x50, 0x30,// ъ 0x00, 0x7C, 0x50, 0x50, 0x30,// ь 0x7C, 0x10, 0x38, 0x44, 0x38,// ю 0x48, 0x34, 0x14, 0x14, 0x7C,// я (187) }; #endif // FONT5X7_H
Вернуться наверх
Реклама
azhel12
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Вт апр 30, 2024 09:30:39
Встал на лапы
Зарегистрирован: Пн апр 02, 2012 15:56:23Сообщений: 143
Рейтинг сообщения: 4
Эти строки, что за смещение? Откуда 144,175
Эти смещения здесь для уплотнения шрифта, из таблицы ASCII вырезаны непечатаемые символы. Вам надо добавить еще пару условий для кириллицы, если
c равен 192 (буква 'А'), то надо вычесть до её реальной позиции в массиве шрифта.
Но вообще у вас код не соответствует шрифту, так как в массиве представлены ненужные строки (первые 32 символа как минимум), а первое условие считает, что их там нет.
Вернуться наверх
Реклама
amv2000
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Вт апр 30, 2024 11:22:16
Опытный кот
Карма: 5
Рейтинг сообщений: 44
Зарегистрирован: Вт апр 26, 2011 13:58:36Сообщений: 714Откуда: Ростовская область
Рейтинг сообщения: 0
если c равен 192 (буква 'А'), то надо вычесть до её реальной позиции в массиве шрифта.
Да это я понял, что смещение. Только цифры какие то странные и если задать if(c>=192 && c<=223) c = c-64; вообще абра кадабра какая то.
если код смещения
Код:
if(c>=144 && c<=175) c = c-16; if(c>=176 && c<=191) c = c-16; if(c>191) return;
после 'п' съедаются никак пока не поборю. И похоже кодировка DOS буква 'A' начинается со 128.
Вернуться наверх
Реклама
amv2000
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Вт май 07, 2024 15:04:14
Опытный кот
Карма: 5
Рейтинг сообщений: 44
Зарегистрирован: Вт апр 26, 2011 13:58:36Сообщений: 714Откуда: Ростовская область
Рейтинг сообщения: 0
Спойлер #ifndef FONT5X7_H #define FONT5X7_H #include "common.h" //---------- // Стандартный шрифт ASCII 5x7. //---------- static const uint8_t font[] = { //156 0x00, 0x00, 0x00, 0x00, 0x00,// (space) 0x00, 0x00, 0x5F, 0x00, 0x00,// ! 0x00, 0x07, 0x00, 0x07, 0x00,// " 0x14, 0x7F, 0x14, 0x7F, 0x14,// # 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ 0x23, 0x13, 0x08, 0x64, 0x62,// % 0x36, 0x49, 0x55, 0x22, 0x50,// & 0x00, 0x05, 0x03, 0x00, 0x00,// ' 0x00, 0x1C, 0x22, 0x41, 0x00,// ( 0x00, 0x41, 0x22, 0x1C, 0x00,// ) 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * 0x08, 0x08, 0x3E, 0x08, 0x08,// + 0x00, 0x50, 0x30, 0x00, 0x00,// , 0x08, 0x08, 0x08, 0x08, 0x08,// - 0x00, 0x60, 0x60, 0x00, 0x00,// . 0x20, 0x10, 0x08, 0x04, 0x02,// / 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 0x42, 0x61, 0x51, 0x49, 0x46,// 2 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 0x27, 0x45, 0x45, 0x45, 0x39,// 5 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 0x01, 0x71, 0x09, 0x05, 0x03,// 7 0x36, 0x49, 0x49, 0x49, 0x36,// 8 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 0x00, 0x36, 0x36, 0x00, 0x00,// : 0x00, 0x56, 0x36, 0x00, 0x00,// ; 0x00, 0x08, 0x14, 0x22, 0x41,// < 0x14, 0x14, 0x14, 0x14, 0x14,// = 0x41, 0x22, 0x14, 0x08, 0x00,// > 0x02, 0x01, 0x51, 0x09, 0x06,// ? 0x32, 0x49, 0x79, 0x41, 0x3E,// @ 0x7E, 0x11, 0x11, 0x11, 0x7E,// A (65) 0x7F, 0x49, 0x49, 0x49, 0x36,// B 0x3E, 0x41, 0x41, 0x41, 0x22,// C 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 0x7F, 0x49, 0x49, 0x49, 0x41,// E 0x7F, 0x09, 0x09, 0x01, 0x01,// F 0x3E, 0x41, 0x41, 0x51, 0x32,// G 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 0x00, 0x41, 0x7F, 0x41, 0x00,// I 0x20, 0x40, 0x41, 0x3F, 0x01,// J 0x7F, 0x08, 0x14, 0x22, 0x41,// K 0x7F, 0x40, 0x40, 0x40, 0x40,// L 0x7F, 0x02, 0x04, 0x02, 0x7F,// M 0x7F, 0x04, 0x08, 0x10, 0x7F,// N 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 0x7F, 0x09, 0x09, 0x09, 0x06,// P 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q 0x7F, 0x09, 0x19, 0x29, 0x46,// R 0x46, 0x49, 0x49, 0x49, 0x31,// S 0x01, 0x01, 0x7F, 0x01, 0x01,// T 0x3F, 0x40, 0x40, 0x40, 0x3F,// U 0x1F, 0x20, 0x40, 0x20, 0x1F,// V 0x7F, 0x20, 0x18, 0x20, 0x7F,// W 0x63, 0x14, 0x08, 0x14, 0x63,// X 0x03, 0x04, 0x78, 0x04, 0x03,// Y 0x61, 0x51, 0x49, 0x45, 0x43,// Z (90) 0x00, 0x00, 0x7F, 0x41, 0x41,// [ 0x02, 0x04, 0x08, 0x10, 0x20,// "\" 0x41, 0x41, 0x7F, 0x00, 0x00,// ] 0x04, 0x02, 0x01, 0x02, 0x04,// ^ 0x40, 0x40, 0x40, 0x40, 0x40,// _ 0x00, 0x01, 0x02, 0x04, 0x00,// ` 0x20, 0x54, 0x54, 0x54, 0x78,// a (97) 0x7F, 0x48, 0x44, 0x44, 0x38,// b 0x38, 0x44, 0x44, 0x44, 0x20,// c 0x38, 0x44, 0x44, 0x48, 0x7F,// d 0x38, 0x54, 0x54, 0x54, 0x18,// e 0x08, 0x7E, 0x09, 0x01, 0x02,// f 0x08, 0x14, 0x54, 0x54, 0x3C,// g 0x7F, 0x08, 0x04, 0x04, 0x78,// h 0x00, 0x44, 0x7D, 0x40, 0x00,// i 0x20, 0x40, 0x44, 0x3D, 0x00,// j 0x00, 0x7F, 0x10, 0x28, 0x44,// k 0x00, 0x41, 0x7F, 0x40, 0x00,// l 0x7C, 0x04, 0x18, 0x04, 0x78,// m 0x7C, 0x08, 0x04, 0x04, 0x78,// n 0x38, 0x44, 0x44, 0x44, 0x38,// o 0x7C, 0x14, 0x14, 0x14, 0x08,// p 0x08, 0x14, 0x14, 0x18, 0x7C,// q 0x7C, 0x08, 0x04, 0x04, 0x08,// r 0x48, 0x54, 0x54, 0x54, 0x20,// s 0x04, 0x3F, 0x44, 0x40, 0x20,// t 0x3C, 0x40, 0x40, 0x20, 0x7C,// u 0x1C, 0x20, 0x40, 0x20, 0x1C,// v 0x3C, 0x40, 0x30, 0x40, 0x3C,// w 0x44, 0x28, 0x10, 0x28, 0x44,// x 0x0C, 0x50, 0x50, 0x50, 0x3C,// y 0x44, 0x64, 0x54, 0x4C, 0x44,// z (122) 0x00, 0x08, 0x36, 0x41, 0x00,// { 0x00, 0x00, 0x7F, 0x00, 0x00,// | 0x00, 0x41, 0x36, 0x08, 0x00,// } 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> 0x08, 0x1C, 0x2A, 0x08, 0x08,// <- //95 0x7E, 0x11, 0x11, 0x11, 0x7E,// A (128) с 0x90 (144) и до 0xAF (175) идут заглавные по порядку «А» — «Я» исключая «Ё» 0x7F, 0x49, 0x49, 0x49, 0x30,// Б 0x7F, 0x49, 0x49, 0x49, 0x36,// B 0x7F, 0x01, 0x01, 0x01, 0x01,// Г 0x60, 0x3F, 0x21, 0x3F, 0x60,// Д 0x7F, 0x49, 0x49, 0x49, 0x41,// E 0x63, 0x14, 0x7F, 0x14, 0x63,// Ж 0x49, 0x49, 0x49, 0x49, 0x36,// З 0x7F, 0x10, 0x08, 0x04, 0x7F,// И 0x7F, 0x10, 0x09, 0x04, 0x7F,// Й 0x7F, 0x08, 0x14, 0x22, 0x41,// К 0x40, 0x3F, 0x01, 0x01, 0x7F,// Л 0x7F, 0x02, 0x04, 0x02, 0x7F,// М 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 0x7F, 0x01, 0x01, 0x01, 0x7F,// П (143) 0x7F, 0x09, 0x09, 0x09, 0x06,// P 0x3E, 0x41, 0x41, 0x41, 0x22,// C 0x01, 0x01, 0x7F, 0x01, 0x01,// T 0x63, 0x14, 0x08, 0x04, 0x03,// У 0x3E, 0x41, 0x7F, 0x41, 0x3E,// Ф 0x63, 0x14, 0x08, 0x14, 0x63,// X 0x3F, 0x20, 0x20, 0x3F, 0x60,// Ц 0x07, 0x08, 0x08, 0x08, 0x7F,// Ч 0x7F, 0x40, 0x7F, 0x40, 0x7F,// Ш 0x3F, 0x20, 0x3F, 0x20, 0x7F,// Щ 0x01, 0x7F, 0x48, 0x48, 0x30,// Ъ 0x7F, 0x48, 0x48, 0x30, 0x7F,// Ы 0x00, 0x7F, 0x48, 0x48, 0x30,// Ь 0x22, 0x41, 0x49, 0x49, 0x3E,// Э 0x7F, 0x08, 0x3E, 0x41, 0x3E,// Ю 0x46, 0x29, 0x19, 0x09, 0x7F,// Я (159) //32 0x20, 0x54, 0x54, 0x54, 0x78,// а (160) в хвосте с 0xB0 (176) до 0xBF (191) маленькие от «а» до «п» 0x7E, 0x49, 0x45, 0x45, 0x39,// б 0x7C, 0x54, 0x54, 0x58, 0x20,// в 0x7C, 0x04, 0x04, 0x04, 0x04,// г 0x08, 0x14, 0x54, 0x54, 0x3C,// д 0x38, 0x54, 0x54, 0x54, 0x18,// е 0x44, 0x28, 0x7C, 0x28, 0x44,// ж 0x54, 0x54, 0x54, 0x54, 0x28,// з 0x3C, 0x40, 0x40, 0x20, 0x7C,// и 0x3C, 0x41, 0x42, 0x21, 0x7C,// й 0x00, 0x7C, 0x10, 0x28, 0x44,// к 0x40, 0x3C, 0x04, 0x04, 0x7C,// л 0x7C, 0x08, 0x10, 0x08, 0x7C,// м 0x00, 0x7C, 0x10, 0x10, 0x7C,// н 0x38, 0x44, 0x44, 0x44, 0x38,// о 0x00, 0x7C, 0x04, 0x04, 0x7C,// п 0x7C, 0x14, 0x14, 0x14, 0x08,// р (176) диапазону 0x80 (128) — 0x8F (143) соответствуют маленькие буквы от «р» до «я» 0x38, 0x44, 0x44, 0x44, 0x20,// с 0x04, 0x04, 0x7C, 0x04, 0x04,// т 0x0C, 0x50, 0x50, 0x50, 0x3C,// у 0x38, 0x44, 0x7C, 0x44, 0x38,// ф 0x44, 0x28, 0x10, 0x28, 0x44,// х 0x3C, 0x20, 0x20, 0x3C, 0x60,// ц 0x00, 0x0C, 0x10, 0x10, 0x7C,// ч 0x7C, 0x40, 0x7C, 0x40, 0x7C,// ш 0x3C, 0x20, 0x3C, 0x20, 0x7C,// щ 0x04, 0x7C, 0x50, 0x50, 0x30,// ъ 0x7C, 0x50, 0x50, 0x30, 0x7C,// ы 0x00, 0x7C, 0x50, 0x50, 0x30,// ь 0x20, 0x44, 0x54, 0x54, 0x38,// э 0x7C, 0x10, 0x38, 0x44, 0x38,// ю 0x48, 0x34, 0x14, 0x14, 0x7C,// я (191) //32 }; #endif // FONT5X7_H //---------- //---------- //----------Практически победил
Код:
//---------- смещение шрифта кириллицы : ---------- if(c<128) c = c-32; //пропускаем не печатаемые символы if(c>=144 && c<=175) c = c-48; //с 0x90 и до 0xAF идут заглавные по порядку «А» — «Я» исключая «Ё» if(c>=128 && c<=143) c = c+16; //диапазону 0x80 — 0x8F соответствуют маленькие буквы от «р» до «я» if(c>=176 && c<=191) c = c-48; //в хвосте с 0xB0 до 0xBF маленькие от «а» до «п» if(c>191) return;
Оказывается расположение строк смещения тоже важно.
Только кириллица всё равно выводится по 2 байта, подскажите как можно вывести символ чтобы 1 байт был?
Пишу в KEIL установлена кодировка russian windows 1251.
Вернуться наверх
Реклама
Конденсаторы HONGA для силовых и промышленных источников питания высокой мощности
К конденсаторам источников питания высокой мощности предъявляются высокие требования по качеству и надежности. Пленочные – единственный тип конденсаторов, который может справиться с такой задачей. Компания Hongfa предлагает продукцию, которая подходит для применения практически во всех функциональных узлах типовых AC/DC- или DC/AC-преобразователей. Рассмотрим характеристики и применения плёночных конденсаторов Hongfa для различных решений.
Подробнее>>
Страница 424 из 424
[ Сообщений: 8464 ]
... , , , ,
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения