通过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;
}
}
此帖出自
小平头技术问答
按照你的思路,你试试发送四字节,十字节,看看是不是也是收到最后一个字节,
如果收到都同样是最后一个字节,那肯定是你查看的方法有错
再从程序的角度来看,如果3个字节只执行一个中断,那你写的把数据存入数组的程序也就自相矛盾了。
个人觉得问题所在在于你所谓的“每次接收中断后收到的都是最后字符串最后一个字节”其实早已产生3次中断了。
个人看法,仅供参考
一周热门 更多>