[发明专利]一种定长单字节格式报文协议下串口接收预处理方法有效

专利信息
申请号: 201710453289.6 申请日: 2017-06-15
公开(公告)号: CN107395565B 公开(公告)日: 2020-03-17
发明(设计)人: 侯师;李正新;王琳;周军;马力超 申请(专利权)人: 北京机械设备研究所
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 北京天达知识产权代理事务所(普通合伙) 11386 代理人: 庞许倩;马东伟
地址: 100854 北京市海淀区永*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 定长 字节 格式 报文 协议 串口 接收 预处理 方法
【权利要求书】:

1.一种定长单字节格式报文协议下串口接收预处理方法,其特征在于,包括步骤如下:

步骤一、接收串口数据;

步骤二、检查在本次接收数据之前,是否存在不足一包协议字节数的剩余数据,若存在,则将所述剩余数据与本次接收到的数据进行合并组成一个数据包;若无,则本次接收到数据作为一个单独的数据包;

通过剩余字节个数变量判断,在接收本次数据之前,是否有上次数据处理剩余的数据;所述剩余字节个数变量为定义的变量,初始化为0,若在一次接收处理后仍有剩余字节数,该变量值被刷新为该次剩余字节数的个数;如果所述剩余字节个数变量为0,说明上次数据处理无剩余数据,正常进行本次数据接收;如果所述剩余字节个数变量不为0但小于定长报文约定的个数,说明上次接收的数据个数不为定长报文约定的个数或者其整数倍,在本次接收前,存在上次数据处理剩余的数据,则按照发送方的字节数据顺序组包,上次处理剩余的数据放在缓存数组中,与本次接收的数据合并,形成组包;若不存在上次数据处理剩余的数据,正常进行本次数据接收,将接收到数据作为一个单独的数据包;

步骤三、按照协议约束对所述数据包进行判别处理,当符合协议约束时,则进入下一步处理;当不符合协议约束时,则返回步骤一;

所述协议约束为定长报文约定的数据长度,按照所述协议约束对所述数据包进行判断,若所述数据包的数据长度小于定长报文约定的长度,则认为是不足一包协议字节数的数据,更新剩余字节个数变量,返回步骤一,等待下次数据接收;若所述数据包的数据长度不小于定长报文约定的长度,则进入下一步处理;

步骤四、判别字节头是否符合要求,若不满足,则通过数组移位将首字节移除,返回步骤三;若满足,则进行下一步处理;

步骤五、判别字节尾是否符合要求,若不满足,则通过数组移位将首字节移除,返回步骤三;若满足,则进行下一步处理;

步骤六、判别校验和是否符合要求,若不满足,则通过数组移位将首字节移除,返回步骤三;若满足,则将所述报文协议规定的字节长度的数据发送用于后续处理,发送完成后,移除上述报文协议规定的字节长度的数据,返回步骤三。

2.根据权利要求1所述的串口接收预处理方法,其特征在于,步骤五中根据报文协议规定的字节长度在数据包中确定字节尾。

3.根据权利要求2所述的串口接收预处理方法,其特征在于,步骤一中串口接收数据的工作方式为阻塞形式。

4.根据权利要求3所述的串口接收预处理方法,其特征在于,所述数组移位是以存放数据的缓存数组的下标为索引进行数组移位。

5.根据权利要求1所述的串口接收预处理方法,其特征在于,校验和为报文校验字,为报文内容全部字节内容的总和。

6.根据权利要求1-5任一所述的串口接收预处理方法,其特征在于,步骤四至六均通过缓存数组移位的方式将首字节移除。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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