[发明专利]一种通用的串口数据接收处理方法在审

专利信息
申请号: 202110665882.3 申请日: 2021-06-16
公开(公告)号: CN113392060A 公开(公告)日: 2021-09-14
发明(设计)人: 赵昶宇 申请(专利权)人: 天津津航计算技术研究所
主分类号: G06F13/42 分类号: G06F13/42
代理公司: 中国航天科技专利中心 11009 代理人: 李晶尧
地址: 300000 天津市*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 通用 串口 数据 接收 处理 方法
【权利要求书】:

1.一种通用的串口数据接收处理方法,其特征在于:包括如下步骤:

步骤一、设定本次总共接收到的串口数据长度为dataLength;设定存储接收到的串口数据缓冲区为sourceBuff;设定对接收到的串口数据进行解析处理的缓冲区为destiBuff;设定当前处理的串口数据长度为pu8MessLength,且pu8MessLength的初始值为0;

步骤二、将sourceBuff中的串口数据传输至destiBuff进行解析处理,每处理一个字节,pu8MessLength的计数加一;串口数据的格式为:数据帧头+有效数据+数据校验+数据帧尾;

步骤三、在destiBuff中寻找正确的数据帧头;

步骤四、提取正确数据帧头对应串口数据的数据帧尾内容,并判断数据帧尾是否正确;当数据帧尾正确,进入步骤五;当数据帧尾不正确,返回步骤三,重新寻找正确的数据帧头;

步骤五、判断数据校验是否正确;当数据校验错误时,返回步骤三,重新寻找正确的数据帧头;当数据校验正确时,判断接收的该串口数据正确,进入步骤六;

步骤六、对该串口数据中的有效数据进行串口通讯协议处理,并在destiBuff中删除当前数据帧尾及之前的所有字节数据;并将当前数据帧尾下一个字节开始的数据作为destiBuff最早接收的数据,重新寻找正确的数据帧头。

2.根据权利要求1所述的一种通用的串口数据接收处理方法,其特征在于:所述步骤二中,数据帧头的长度为L1、有效数据的长度为L2、数据校验的长度为L3、数据帧尾的长度为L4;L1为大于1的正整数;L2为大于0的正整数;L3为大于0的正整数;L4为大于0的正整数。

3.根据权利要求1所述的一种通用的串口数据接收处理方法,其特征在于:所述步骤三中,寻找正确的数据帧头的方法为:

按照destiBuff接收串口数据时间的先后顺序,依次寻找正确的数据帧头;

当接收到串口数据中数据帧头的每个字节内容都正确,且该数据帧头的长度也正确时,则判断当前接收到串口数据的数据帧头是正确的数据帧头;

当接收到串口数据中数据帧头的每个字节内容都正确,但该数据帧头的长度错误;或当接收到串口数据中数据帧头的长度正确,但数据帧头的各字节内容不完全正确,则判断当前接收到串口数据的数据帧头不是正确的数据帧头。

4.根据权利要求3所述的一种通用的串口数据接收处理方法,其特征在于:当在destiBuff数据缓冲区中最早接收的长度为L1的数据帧头不是正确的数据帧头时,则从当前destiBuff数据缓冲区中最早接收的第二个字节开始,按照destiBuff接收串口数据时间的先后顺序,依次寻找正确的数据帧头;

直至pu8MessLength计数值大于destiBuff能够容纳的最大字节数时,若此时在destiBuff数据缓冲区中一直找不到正确的数据帧头,设置当前数据帧头的字节长度为headLen,在destiBuff中仅保留最新接收的headLen-1个字节的数据内容,将destiBuff数据缓冲区中其余字节内容全部删除,destiBuff从第headLen个字节开始接收sourceBuff中的串口数据。

5.根据权利要求4所述的一种通用的串口数据接收处理方法,其特征在于:当在destiBuff中寻找到正确的数据帧头时,则当前数据帧头的长度L1和内容已确定,即该数据帧头对应的串口数据中有效数据的长度L2、数据校验的长度L3、数据帧尾的长度L4和串口数据的类型标识Sign均确定。

6.根据权利要求1所述的一种通用的串口数据接收处理方法,其特征在于:所述步骤四中,判断数据帧尾是否正确的方法为:

当当前destiBuff中数据帧尾的内容与该数据帧头对应的数据帧尾的内容一致,则判断当前destiBuff数据缓冲区中数据帧尾正确,找到该数据帧头对应的数据帧尾;

当当前destiBuff中数据帧尾的内容与该数据帧头对应的数据帧尾的内容不一致,则判断当前destiBuff数据缓冲区中数据帧尾错误,未找到该数据帧头对应的数据帧尾。

7.根据权利要求1所述的一种通用的串口数据接收处理方法,其特征在于:所述步骤五中,数据校验是否正确的判断方法为:

当当前destiBuff中数据校验的内容与该数据帧头对应的数据校验的内容一致,则判断当前destiBuff数据缓冲区中数据校验正确,找到该数据帧头对应的数据校验;

当当前destiBuff中数据校验的内容与该数据帧头对应的数据校验的内容不一致,则判断当前destiBuff数据缓冲区中数据校验错误,未找到该数据帧头对应的数据校验。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110665882.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top