Любопытно, а зачем нужна вот эта операция, которая всегда дает TRUE?
Код
if (UTXIFG0==0x80) TXBUF0=0x01;
Ваш бесконечный цикл эквивалентен такому
Код
while (1)
{ TXBUF0=0x01;
}
Сами поймете почему или пояснить?
Если поймете, то думаю сразу догадаетесь отчего возникает переполнение потока через UART.
P.S. в конце выделенного оператора не хватает точки с запятой.
Цитата
WDTCTL = WDTPW + WDTHOLD;
init_system(); //для портов
init_UART(9600)
P2OUT |= BIT3; //на передачу P2.3 = (1)