[发明专利]一种串口接收数据处理方法、装置、设备及介质在审
申请号: | 202210544545.3 | 申请日: | 2022-05-19 |
公开(公告)号: | CN114650217A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 朱印;曹湘飞 | 申请(专利权)人: | 长沙竹叶电子科技有限公司 |
主分类号: | H04L41/0677 | 分类号: | H04L41/0677;G06F13/42 |
代理公司: | 长沙国科天河知识产权代理有限公司 43225 | 代理人: | 赵小龙 |
地址: | 410000 湖南省长沙市高新开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 串口 接收 数据处理 方法 装置 设备 介质 | ||
1.一种串口接收数据处理方法,其特征在于,所述方法包括:
获取待接收数据;所述待接收数据包括帧头、净荷长度和其他数据;
对所述待接收数据的当前状态进行判断,根据判断结果将所述待接收数据存入组帧区,得到更新后的组帧区和接收后的数据;所述当前状态包括等待帧头、接收净荷长度、接收其他数据及数据校验;
在所述更新后的组帧区中利用校验和对所述接收后的数据进行验证,根据验证结果判定所述接收后的数据是否接收正常,得到接收正常的数据;所述接收正常的数据为串口接收数据处理结果;
若所述待接收数据的当前状态为接收净荷长度,则接收所述待接收数据中的净荷长度,将所述净荷长度存入组帧区,所述组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和已接收净荷长度的数据;
对所述更新后的组帧区中的帧头长度进行判断,若更新后的组帧区中已收字节长度与所述净荷长度的字节长度相同,且净荷长度与帧头后两位相同,则将待接收数据的状态切换为接收其他数据状态;若所述净荷长度与帧头后两位不相同,则丢弃所述待接收数据,组帧区数据清零,重置组帧函数,开始等待下一次接收到帧头数据;其他数据包括帧尾和真实数据。
2.根据权利要求1所述的方法,其特征在于,对所述待接收数据的当前状态进行判断,根据判断结果将所述待接收数据存入组帧区,得到更新后的组帧区和接收后的数据,包括:
根据所述待接收数据的当前状态分别对所述待接收数据进行接收,得到更新后的组帧区和接收后的数据;
若所述待接收数据的当前状态为等待帧头且帧头与接收缓冲区数据相等,则接收所述待接收数据中的帧头,将所述帧头存入组帧区,所述组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和已接收帧头的数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述待接收数据的当前状态为等待帧头且帧头与接收缓冲区数据不相等,则丢弃所述待接收数据,组帧区数据清零,重置组帧函数,开始等待下一次接收到帧头数据。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述更新后的组帧区中的帧头长度进行判断,若更新后的组帧区中已收字节长度大于所述帧头长度,则将待接收数据的状态切换为接收净荷长度。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待接收数据的当前状态为接收其他数据,则接收所述待接收数据中的帧尾和真实数据,将所述帧尾和真实数据存入组帧区,所述组帧区中指针地址和已收字节的数量各加一,得到更新后的组帧区和接收后的数据;
对所述更新后的组帧区中的已收字节长度进行判断,若所述已收字节长度与所述待接收数据的长度相等,则将待接收数据的状态切换为数据校验。
6.根据权利要求5所述的方法,其特征在于,在所述更新后的组帧区中利用校验和对所述接收后的数据进行验证,根据验证结果判定所述接收后的数据是否接收正常,得到接收正常的数据,包括:
在所述更新后的组帧区中利用校验和对所述接收后的数据进行验证,若所述接收后的数据中的帧尾长度有效,则将所述接收后的数据的长度去掉帧头、帧尾和除校验和之外的所有值后进行相加,取加和的低八位与所述校验和进行比较,若所述校验和与加和的低八位相等,则判定所述接收后的数据接收正常,得到接收正常的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙竹叶电子科技有限公司,未经长沙竹叶电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210544545.3/1.html,转载请声明来源钻瓜专利网。