LordN (05.08.2007 20:57, просмотров: 1) ответил Dany на rezident? А можно пожалуйста поподробней, про свой putchar.
просто на сях эт примерно так выглядит <c>//************************************************************
void putch(unsigned char Symb)
//************************************************************
{
unsigned char x;
while((x = LcdRdAdr()) & 0x80) continue;
LCD_RS = 0;
if(Symb == '\f') x = LCD_CLEAR; else // Очистка экрана.
if(Symb == '\n') x = (x + 0x40) | 0x80; else // Новая строка.
if(Symb == '\r') x = (x & 0x40) | 0x80; else // Начало строки.
if(Symb == '\b') x = --x | 0x80; else // Откат.
// Используем массив кодов русских букв для LCD,
// перекладываем Symb в х, чтоб не потерять английский и проч. символ, потом,
// если код ASCII символа попадает в коды ASCII русских букв (диапазон 192 - 255),
// в х записываем значение указателя на элемент массива, по адресу
// получаемого из суммы начального адреса массива и кода ASCII символа и отнимаем
// значение кода ASCII русской буквы 'А' = 192!!!
LCD_RS = 1;
if(Symb >= 192) x = LCD_RUS_CODE[Symb - 192]; // это собственно сам перекодировщик
else x = Symb; }
LcdWrite(x);
}
</c>