Цитата(Ioann @ Apr 5 2007, 09:03)

1. прошу прощения, UDRE, а не TXC...
2. если подскажете, буду благодарен если укажете на ошибку (сам что-то не нашёл...)
Использование прерывания несколько удобнее и понятнее (по крайней мере для меня)
Код
#pragma vector=USART0_TXC_vect
__interrupt void USART0_transmit_complete(void)
{
usart0_status_timer = 2;
usart0_status = Usart0WaitReceiving;
}
фрагмент процесса обслуживания порта:
switch (usart0_status)
.....
case Usart0Transmitting:
if (!usart0_status_timer)
{
usart0_status = Usart0Unconfigured;
}
break;
case Usart0WaitReceiving:
if (usart0_status_timer == 0)
{
ClearRxBuffer0();
SetReceiveDirection0();
usart0_status = Usart0Waiting;
}
break;
}
Уходя, оставьте свет...