И опять с UARTом

Можете носом ткнуть в ошибки и направить на путь истинный?
Требования (на первых парах): вернуть в TX данные пришедшие в RX.
Кристалл: MSP430F149
Частота берётся ACLK (в проге 4MHz ставил), битрейт 9600.
Мой код:
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // остановка WDT
ME1 = UTXE0+URXE0; // Разр передачу/приём UART0
U0CTL = CHAR+SWRST; // Инициализация(ресет) UART0
UCTL0 = CHAR; // 8-bit character
UTCTL0 = SSEL0; // UCLK = ACLK
UBR00 = 0xA0; //
UBR10 = 0x01; //
UMCTL0 = 0xB7; //
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
P3DIR |= 0x10; // P3.4 output direction
while ((IFG2 & UTXIFG0) == 0) // проверка готовности USART0 TX
TXBUF0 = RXBUF0; // RXBUF0 => TXBUF0
}
Работать не хочет.