| #include  <msp430x14x.h> 
 void main(void)
 {
 volatile unsigned int i;
 
 WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
 P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
 BCSCTL1 |= XTS;                           // ACLK= LFXT1= HF XTAL
 
 do
 {
 IFG1 &= ~OFIFG;                           // Clear OSCFault flag
 for (i = 0xFF; i > 0; i--);               // Time for flag to set
 }
 while ((IFG1 & OFIFG));                   // OSCFault flag still set?
 
 BCSCTL2 |= SELM_3;                        // MCLK = LFXT1 (safe)
 ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
 UCTL0 |= CHAR;                            // 8-bit character
 UTCTL0 |= SSEL0;                          // UCLK= ACLK
 UBR00 = 0x45;                             // 8MHz 115200
 UBR10 = 0x00;                             // 8MHz 115200
 UMCTL0 = 0x00;                            // 8MHz 115200 modulation
 UCTL0 &= ~SWRST;                          // Initialize USART state machine
 IE1 |= URXIE0;                            // Enable USART0 RX interrupt
 
 _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
 }
 
 #pragma vector=UART0RX_VECTOR
 __interrupt void usart0_rx (void)
 {
 while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?
 TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0
 }
 这是TI官方网站上的程序,它的p3.4就没设为输出,难道TI提供的程序错了?
 |