发明名称 |
一种基于首尾循环队列的串口通信方法 |
摘要 |
本发明涉及一种基于首尾循环缓冲队列的串口通信方法,采用硬件中断服务方式处理数据接收和发送任务,以一次只处理一个字节数据的方式将从串口硬件接收数据放入首尾循环的接收缓冲数据队列,以及将数据从首尾循环的发送缓冲数据队列取出从串口硬件发送出去;采用命令处理线程从所述接收缓冲数据队列接收到的数据中解析命令并执行该命令,以及将命令响应数据放入所述发送缓冲数据队列。本发明能够保证串口命令能够有最大限度的吞吐量和实时性;命令处理线程在没有数据收发的时候实施命令解析和相应数据准备,具有连续处理数据的能力且不影响数据的收发过程。 |
申请公布号 |
CN106095716A |
申请公布日期 |
2016.11.09 |
申请号 |
CN201610474485.7 |
申请日期 |
2016.06.24 |
申请人 |
武汉光迅科技股份有限公司 |
发明人 |
杨智 |
分类号 |
G06F13/42(2006.01)I |
主分类号 |
G06F13/42(2006.01)I |
代理机构 |
北京天奇智新知识产权代理有限公司 11340 |
代理人 |
陈新胜 |
主权项 |
一种基于首尾循环缓冲队列的串口通信的方法,其特征在于:创建数据收发线程,其采用硬件中断服务方式处理数据接收和发送任务,以一次只处理一个字节数据的方式将从串口硬件接收数据放入首尾循环的接收缓冲数据队列,以及将数据从首尾循环的发送缓冲数据队列取出从串口硬件发送出去;创建命令处理线程,其从所述接收缓冲数据队列接收到的数据中解析命令并执行该命令,以及将命令响应数据放入所述发送缓冲数据队列。 |
地址 |
430205 湖北省武汉市江夏区藏龙岛开发区潭湖路1号 |