Ответ:
int putchar ( int i )
{
switch (CharType)
{
case LittleChar:
LCDWriteLittleChar(i);
break;
case MediumChar:
LCDWriteMediumChar(i);
break;
case BigChar:
LCDWriteBigChar(i);
break;
case IRDA:
if(i == 0xa) PutSirChar ( 0xd );
PutSirChar ( i );
break;
default:
do ; while (!(UART(USART_TCTL)&_TxEmpty));
if(i!=0xBF)
UART(USART_TXBUF)=i;
else
UART(USART_TXBUF)=0xFF; //replace 0xbf by я in strings
break;
}
return(i);
}
Вывод:
void DispValue ( float value )
{
CharType = LittleChar;
if ( Config.Units == EnglishUnits ) {
printf(TextAtLanguage(&Th_Cond_msg_i),File.Thickness/mmtomils,File.Conductivity/(50.0/86.0));
} else {
printf(TextAtLanguage(&Th_Cond_msg_m),File.Thickness,File.Conductivity);
}
CharType = MediumChar;
if ( Config.Alarm ) puts("\x81 ");
else puts(" ");
DispDig(value);