[P]代码如下:通过P2口的小灯发现输入数据是正确的,但是串口返回数据是错误的(有时回复2个字节)。[/P][P] [/P][P]#include<msp430x14x.h>[/P][P]
int main(void)
{ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P2DIR = 0xFF;P2OUT = 0xFF; P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口 ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受 UCTL0 |= CHAR + SWRST; // 选择8位字符 UTCTL0 |= SSEL0; // UCLK = ACLK UBR00 = 0x03; // 波特率9600 UBR10 = 0x00; // UMCTL0 = 0x4A; // Modulation UCTL0 &= ~SWRST; // 初始化UART状态机 IE1 |= URXIE0; // 使能USART0的接收中断 while(1) { _EINT(); LPM1; while(!(IFG1 & UTXIFG0)); P2OUT = ~RXBUF0; TXBUF0 = RXBUF0; }
}
/***********
*******串口中断接收服务程序
************/[/P][P]#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx(void)
{ LPM1_EXIT;
}
[/P] |