Цитата(biDE @ May 31 2008, 17:15)

Чтобы этого избежать можно максимально укоротить процедуры USART или в начале этой процедуры (по USART) насильно включить прерывания, тогда прерывание по TMR2 можно будет обработать не дожидаясь конца выполнения процедур по USART.
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
#asm("sei");
/// Прерывание юарта, 50 мкс
}
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
// Прерывание таймера , 1мкс, 200 тыщ раз в секунду
}
так?
Приводит к тому что юарт принимает что-то не то...