串口通讯中垃圾数据的处理 您所在的位置:网站首页 串口数据显示E开头 串口通讯中垃圾数据的处理

串口通讯中垃圾数据的处理

2024-05-01 22:03| 来源: 网络整理| 查看: 265

在双机串口通讯中,开关机(串口开闭)期间发送方有时候会发一些无效的垃圾数据,同时因为有的协议解析只有接收到一定数量才能解析。这就会出现一个现象:如果开头的数据是错误的,又没有及时丢弃,后面正确的数据接着位置存储,最终造成解析失败。现象就是有时候数据交互正确,有时候错误(冷启动第一次出现错误的几率较大)。所以串口通讯中对垃圾数据的防护及解析的顺序方法就显的很重要。

if(USART_GetITStatus(UART4,USART_IT_RXNE))    {        USART_ITConfig(UART4, USART_IT_RXNE, DISABLE);        Rbuff[rcnt++] =(char)USART_ReceiveData(UART4);/*读DR清0*/        if((rcnt >3)&&(rcnt >=Rbuff[1]))/**/        {                        if((0X03 == Rbuff[2])&&(0X60 == Rbuff[3]))/*打印命令*/            {                if(rcnt==64)/*一个分包结束*/                {                                       Flag_IsPrtCmd = TRUE;                    Cmdbuff_len = Rbuff[1];                    if(Calculate_JiaoYan(Rbuff) ==Rbuff[Cmdbuff_len -1])                    {                                                for(i=0;i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有