|
только надо функцию putchar переписать на работу с UART:
#define TxBufferSize 128
static unsigned char TxBuffer[TxBufferSize],TxHead = 0,TxTail = 0;#pragma vector = USART_UDRE_vect
__interrupt void Tx232Handler(void) {
UDR = TxBuffer[TxTail++];
TxTail &= TxBufferSize-1;
if(TxTail == TxHead) UCSRB &= ~(1<} int putchar (int Byte) {
unsigned char Tmp;
do {
Tmp = TxHead+1;
Tmp &= TxBufferSize-1;
} while(Tmp == TxTail);
TxBuffer[TxHead] = Byte;
TxHead = Tmp;
UCSRB |= (1<return (1);
}
int putchar (int Byte) {
while (!(UCSRA & TXC));
UDR = Byte;
}
E-mail: info@telesys.ru