[发明专利]一种串口接收数据处理方法、装置、设备及介质在审
申请号: | 202210544545.3 | 申请日: | 2022-05-19 |
公开(公告)号: | CN114650217A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 朱印;曹湘飞 | 申请(专利权)人: | 长沙竹叶电子科技有限公司 |
主分类号: | H04L41/0677 | 分类号: | H04L41/0677;G06F13/42 |
代理公司: | 长沙国科天河知识产权代理有限公司 43225 | 代理人: | 赵小龙 |
地址: | 410000 湖南省长沙市高新开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 串口 接收 数据处理 方法 装置 设备 介质 | ||
本申请涉及一种串口接收数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取待接收数据;待接收数据包括帧头、净荷长度和其他数据;对待接收数据的当前状态进行判断,根据判断结果将待接收数据存入组帧区,得到更新后的组帧区和接收后的数据;当前状态包括等待帧头、接收净荷长度、接收其他数据及数据校验;在更新后的组帧区中利用校验和对接收后的数据进行验证,根据验证结果判定接收后的数据是否接收正常,得到接收正常的数据;接收正常的数据为串口接收数据处理结果。采用本方法能够提高串口数据处理效率。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种串口接收数据处理方法、装置、计算机设备和存储介质。
背景技术
随着串行通信技术的发展,为了提高串口接收程序的可靠性,目前最常见的做法是在制定串口协议报文时,在发送的有效串口数据内容前增加数据帧头,在发送的有效串口数据内容后增加数据帧尾或数据校验和。在串口通讯的过程中,串口数据的接收方必须对接收到的串口数据进行解析,即从接收到的串口数据中找到数据帧头和数据帧尾,并计算数据校验和,最后提取每一帧有效的串口数据内容。
然而,目前大多数的串口接收函数进行数据处理时都是捕捉到帧头和帧尾后就直接判断接收完成,现有的串口数据处理的移植性和可维护性极低,当帧头和帧尾发生长度和内容的变化时,串口接收函数进行数据处理的工作量巨大,存在效率低下同时还有造成其他bug的风险。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高串口数据处理效率的一种串口接收数据处理方法、装置、计算机设备和存储介质。
一种串口接收数据处理方法,所述方法包括:
获取待接收数据;待接收数据包括帧头、净荷长度和其他数据;
对待接收数据的当前状态进行判断,根据判断结果将待接收数据存入组帧区,得到更新后的组帧区和接收后的数据;当前状态包括等待帧头、接收净荷长度、接收其他数据及数据校验;
在更新后的组帧区中利用校验和对接收后的数据进行验证,根据验证结果判定接收后的数据是否接收正常,得到接收正常的数据;接收正常的数据为串口接收数据处理结果。
在其中一个实施例中,对待接收数据的当前状态进行判断,根据判断结果将待接收数据存入组帧区,得到更新后的组帧区和接收后的数据,包括:
根据待接收数据的当前状态分别对待接收数据进行接收,得到更新后的组帧区和接收后的数据;
若待接收数据的当前状态为等待帧头且帧头与接收缓冲区数据相等,则接收待接收数据中的帧头,将帧头存入组帧区,组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和已接收帧头的数据。
在其中一个实施例中,若待接收数据的当前状态为等待帧头且帧头与接收缓冲区数据不相等,则丢弃待接收数据,组帧区数据清零,重置组帧函数,开始等待下一次接收到帧头数据。
在其中一个实施例中,对更新后的组帧区中的帧头长度进行判断,若更新后的组帧区中已收字节长度大于帧头长度,则将待接收数据的状态切换为接收净荷长度。
在其中一个实施例中,若待接收数据的当前状态为接收净荷长度,则接收待接收数据中的净荷长度,将净荷长度存入组帧区,组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和已接收净荷长度的数据;
对更新后的组帧区中的帧头长度进行判断,若更新后的组帧区中已收字节长度与净荷长度的字节长度相同,且净荷长度与帧头后两位相同,则将待接收数据的状态切换为接收其他数据状态;若净荷长度与帧头后两位不相同,则丢弃待接收数据,组帧区数据清零,重置组帧函数,开始等待下一次接收到帧头数据;其他数据包括帧尾和真实数据。
在其中一个实施例中,若待接收数据的当前状态为接收其他数据,则接收待接收数据中的帧尾和真实数据,将帧尾和真实数据存入组帧区,组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和接收后的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙竹叶电子科技有限公司,未经长沙竹叶电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210544545.3/2.html,转载请声明来源钻瓜专利网。