请教:串口中断接收问题

2020-01-30 13:35发布

协议帧结构:0x10,0x02为帧头+长度+数据+ 0x10,0x03为帧尾
每次串口中断接收的相邻0x10是一组代表一个0x10数据,比如0x10,0x10,0x10,0x10x,0x10,0x10实际是3个0x10数据。目前我只能做到两个请大家看看,另在数据中0x10,0x10+0x10,0x03帧尾,也解不了。

if(rx_length--)//=0时,全部接收完成
{
uart0_rx_data[rx_count++]=SBUF0;
if(flag_0x10)//这样可以收到连续两个DATA是0x10的字节
{
flag_0x10=0;
break;
}else
{
if((uart0_rx_data[rx_count-2]==0x10)&&(uart0_rx_data[rx_count-1]==0x10))
{
--rx_count;
++rx_length;
flag_0x10=1;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。