串口中断方式接收,把RXBUF0中的数据存在 ID_temp的数组中,但是当串口助手发送多个字节的时候, ID_temp中只有第一个字节的数据,也就是说其余的数据都没有接收到,请大侠指点一二。
void UART_init()
{
P3SEL|=0XF0;
UCTL0 = CHAR+SWRST;
UCTL1 = CHAR+SWRST;
U0RCTL |= URXWIE;
U1RCTL |= URXWIE;
UTCTL0 = SSEL1;
UTCTL1 = SSEL1;//SMCLK
UBR00 = 0xa0;
UBR10 = 0X01;
UBR01 = 0xa0;
UBR11 = 0X01;
UMCTL0 = 0x6B;
UMCTL1 = 0x6B;
UCTL0 &= ~SWRST;
UCTL1 &= ~SWRST;
ME1 |= UTXE0 + URXE0;
ME2 |= UTXE1 + URXE1;
IE1 |= URXIE0 ;
IE2 |= URXIE1 ;
}
#pragma vector=USART0RX_VECTOR
__interrupt void Usart0Rx()
{
// while (!(IFG1 & URXIFG0));
// IFG1 &=~URXIFG0;
ID_temp[Rindex++]=RXBUF0;
}
|