Тема древняя как г мамонта, но вот сейчас пришлось заморачиваться такойже проблемой, и решил поделиться своим решением. Вот взял коды из макроса qqqqqq для своей таблички...
Код
// коды букв русского алфавита в таблице контроллера жки
unsigned char __flash LcdRusChar[] =
{
65,160,66,161,224,69,163,164,165,166,75,167,77,72,79,168,80,67,
84,169,228,88,225,171,172,226,173,174,98,175,176,177,97,178,179,
180,227,101,182,183,184,185,186,187,188,189,111,190,112,99,191,
121,228,120,229,192,193,230,194,195,196,197,198,199
};
а в процедуру вывода символов на жки вставляется пара строк:
Код
if(c >= 192) // 192 - код русской А в кодировке WIN1251
{
c = LcdRusChar[c-192]; // перекодировка в русские символы на жки
}
lcdDataWrite(c);
проблемы с буквой "я" нет. Да, перекодировка на лету, но в сравнении со общим временем обращения к ЖКИ это пшик. Ну и плюс 64 байта табличка. Зато как удобно.