怎么样接收一帧完整的数据

2019-08-01 15:16发布

接收缓冲区接收到一串数据,但是只有其中的一帧4个ff开头 83结尾的数据才能用,我怎么才能把它截取出来
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
电子缘科技
2019-08-02 23:17

还没搞定呀?给你写一个吧,你试下

unsigned char Rdata[80];//接收缓冲区
unsigned char data[9];//需要数据缓冲----数了一下你的数据长度是9,具体多少你自己改下

unsigned char cnt,rcnt;//变量

for(cnt=0; cnt<80; cnt++)
{
        if((Rdata[cnt]==0xff) && (Rdata[cnt+1]==0xff) && (Rdata[cnt+2]==0xff) && (Rdata[cnt+3]==0xff) && (Rdata[cnt+8]==0x83))//符合协议条件,接收数据
        {
                for(rcnt=0; rcnt<9; rcnt++)
                {
                        data[rcnt] = Rdata[cnt];//从符合条件的cnt开始复制数据到data数组
                        cnt ++;                               
                }
                break;//接收完成退出
        }
}

一周热门 更多>