给位大大,我今天STM8的串口中断方式接收数据,本来的意图是接收完整个数据包在进行对数据包的第一个字节修改的,做了试验后发现我第一个字节接收完成后立即返回到main函数的while循环把第一个字节修改完,再次进入中断接收。
while(1)
{
if(RxBuffer[0] == 0x5A)
{
RxBuffer[0] = 0x5b;
SendByte(RxBuffer[0]);
}
}
这样的话我下面的判断代码就不执行了。
if(RxBuffer[0] ==0x5A && RxBuffer[RxNum-1] ==0xA5)
{
RxFlag =1;
}
if(RxFlag == 1)
{
for(i=0;i<RxNum;i++)
{
SendByte(RxBuffer[i]);
}
RxNum =0;
RxFlag = 0;
}
有什么办法可以等待数据包接收完在进入main函数。 |