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
1楼-- · 2019-03-25 13:06
理解错了,抱歉
我没用过iar watch
至于怎么查看每次中断收到的数据,我也不太清楚,也有可能你的方法错了
你加个函数让它往pc回传字符串
如果收到的跟你发送的一样,那就证明每次中断收到的数据肯定是正确的
kaka0202
2楼-- · 2019-03-25 16:04
 精彩回答 2  元偷偷看……
sint27
3楼-- · 2019-03-25 19:34
肯定是一个字节一次中断的,
按照你的思路,你试试发送四字节,十字节,看看是不是也是收到最后一个字节,
如果收到都同样是最后一个字节,那肯定是你查看的方法有错
再从程序的角度来看,如果3个字节只执行一个中断,那你写的把数据存入数组的程序也就自相矛盾了。
个人觉得问题所在在于你所谓的“每次接收中断后收到的都是最后字符串最后一个字节”其实早已产生3次中断了。
个人看法,仅供参考
tuzihog
4楼-- · 2019-03-25 20:37
个人感觉sint27的看法是对的,楼主再仔细查看下程序
yatoo
5楼-- · 2019-03-25 22:01
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章