msp430串口中断问题

2019-03-24 13:33发布

通过PC给430发送指令字符串 通过接收中断实现 波特率115200 但是每次接收中断后收到的都是最后字符串最后一个字节 求解
附代码
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
  //while((IFG1&UTXIFG0)==0);
RecBuf[index]=RXBUF0;
index++;
if(index>=10)
{
index=0;
}
if (RecBuf[index]==0x77)
{
if ((RecBuf[index+1]==0x88)&&(RecBuf[index+2]==0x99))
flg=1;
}
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
sint27
2019-03-25 19:34
肯定是一个字节一次中断的,
按照你的思路,你试试发送四字节,十字节,看看是不是也是收到最后一个字节,
如果收到都同样是最后一个字节,那肯定是你查看的方法有错
再从程序的角度来看,如果3个字节只执行一个中断,那你写的把数据存入数组的程序也就自相矛盾了。
个人觉得问题所在在于你所谓的“每次接收中断后收到的都是最后字符串最后一个字节”其实早已产生3次中断了。
个人看法,仅供参考

一周热门 更多>

相关问题

    相关文章