[发明专利]一种从串口接收数据、处理数据帧的方法在审
申请号: | 202010669896.8 | 申请日: | 2020-07-13 |
公开(公告)号: | CN111858447A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 王文科 | 申请(专利权)人: | 深圳市集贤科技有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42;H04L12/863 |
代理公司: | 深圳市中科创为专利代理有限公司 44384 | 代理人: | 彭涛;刘曰莹 |
地址: | 518000 广东省深圳市南山区西丽街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 串口 接收 数据 处理 方法 | ||
本发明公开一种从串口接收数据、处理数据帧的方法,包括以下步骤S1:串口初始化,接收端创建串口接收任务、串口读取任务;S2:从串口接收数据后,执行串口中断处理,串口中断处理时,接收端将串口接收的数据放在消息节点中,并将消息节点的数据发送到接收消息队列中;S3:执行串口接收任务,即不断从接收消息队列中获取消息节点的数据,然后从消息节点中获取到串口接收到的数据,并将其添加至环形队列中;S4:执行串口读取任务,即从环形队列中读取串口接收到的数据;并对从环形队列中读取的数据进行组帧。将收到的串口数据发放至消息队列,降低了中断的处理耗时,同时也将串口接收数据与数据处理分离开,不会造成串口溢出而丢数据的情况。
技术领域
本发明涉及数据传输技术领域,尤其涉及一种从串口接收数据、处理数据帧的方法。
背景技术
在物联网架构中,常用的架构是通信模块+单片机的方式,之间通过串口进行数据通信。双方从串口接收数据时,当前一般都采用直接接收的方式,但在通信数据量大或较频繁时,一是会丢失有效数据,二是会收不到完整的、有效的数据帧。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明要解决的技术问题是:提供一种从串口接收数据、处理数据帧的方法,保证在串口通信时,特别是数据量大,通信频繁的情况下,能提高接收到完整数据帧的能力,能降低丢失有效数据的机率。
本发明的技术方案如下:提供一种从串口接收数据、处理数据帧的方法,包括:以下步骤。
S1:串口初始化,接收端创建串口接收任务、串口读取任务。
S2:接收端从串口接收数据后,执行串口中断处理,串口中断处理时,接收端将串口接收的数据放在消息节点中,将消息节点的数据发送到接收消息队列中。消息节点为存储单元,消息节点的数据为存储单元的信息,接收端将串口接收的数据放在消息节点中,并将消息节点的数据发送到接收消息队列中,也即对出口接收到的数据进行暂时存储和排序。
S3:接收端执行串口接收任务,即不断从接收消息队列中获取消息节点的数据,然后从消息节点中获取到串口接收到的数据,并将其添加至环形队列中。接收端根据消息队列中消息节点的数据,从消息节点中取出相应的串口接收到的数据,放入至环形队列中进行排序。
S4:接收端执行串口读取任务,即从环形队列中读取串口接收到的数据;并对从环形队列中读取的数据进行组帧;也即从环形队列中取出串口接收到的数据,并对串口接收到的数据进行组帧。
读取串口接收到的数据的方式为:周期性读取,每隔5ms-500ms去环形队列中取一次;或者,读取串口接收到的数据的方式为:在执行串口接收任务中,在成功将数据加入环形队列后,通过释放信号量的方式通知在等待该信号量的串口读取任务,到环形队列中去取数据。帧的格式包括:帧头、长度、数据、校验和。
消息节点、环形队列相当于蓄水池,可暂时存储串口接收到的数据,因此通过串口交换的数据量非常大,通信频繁的情况下,能提高接收到完整数据帧的能力,能降低丢失有效数据的机率。串口中断处理中,接收端通过将收到的串口数据发放至消息队列,降低了中断的处理耗时,同时也将串口接收数据与数据处理分离开,不会造成串口溢出而丢数据的情况。通过环形队列的方式,其队列大小可设置,接收端能将发送端发送的数据尽可能的接收下来。接收端执行串口读取任务中,既可周期性的去读取,也可通过信号量去读取,能保障串口接收的及时性。
一种所述组帧的方法为:直接从环形队列中读取相关字段,进行组帧;具体包括以下步骤。
S11:从环形队列中读取帧头。
S12:判断帧头是否正确,若正确,进入步骤S13,若不正确,返回步骤S11。
S13:从环形队列中读取长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市集贤科技有限公司,未经深圳市集贤科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010669896.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于海鹰翼辉操作系统的任务级实时调试装置及方法
- 下一篇:蒸汽家电设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置