[发明专利]一种基于linux下操作串口及HID外设的通讯方法在审
申请号: | 201911053985.3 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110795375A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 孙成通;李凯强;生伟;孙浩亮 | 申请(专利权)人: | 浪潮金融信息技术有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/42 |
代理公司: | 11638 北京权智天下知识产权代理事务所(普通合伙) | 代理人: | 王新爱 |
地址: | 215100 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 串口 读取 接口关闭 封装 发送 串口通信 函数配置 接口打开 接口实现 设置文件 外设模块 硬件通讯 主机单元 自由通信 通讯 超时 读写 阻塞 兼容 退出 开发 | ||
1.一种基于linux下操作串口及HID外设的通讯方法,其特征在于,包括:串口通信部分的封装流程、HID-USB通讯部分的封装流程和执行流程;
所述串口通信部分的封装流程包括以下步骤:
A1、使用<fcntl.h>提供的open函数实现设备的打开,设置文件为读写方式和阻塞方式;
A2、借助<termios.h>中的tcsetattr函数配置与硬件通讯的相关参数,参数包括波特率、数据位、校验位、停止位、流控方式以及字节间的超时读取时间;
A3、借助<select.h>中的select函数设置读取超时时间;
A4、使用<unistd.h>中的read、write接口进行发送和读取操作;
A5、使用<unistd.h>中的close接口关闭设备终止通信;
所述HID-USB通讯部分的封装流程包括以下步骤:
B1、使用hid_init、hid_open接口打开指定生产厂商ID(VID),产品ID(PID)的设备;
B2、使用hid_write接口实现数据的发送;
B3、使用hid_read_timeoout接口实现数据的接收,超时时间内若未读取到,终止读取操作,返回超时错误;
B4、使用hid_close、hid_exit接口关闭设备并退出;
所述执行流程包括以下步骤:若输入参数“COM3|9600|8|0|0|0”或者含有tty字样的端口配置,通讯库自动解析进入串口操作流程;若输入参数“HID|23AB1003”,通讯库自动解析进入HID设备操作流程,并根据VID、PID去操作设备。
2.根据权利要求1所述的一种基于linux下操作串口及HID外设的通讯方法,其特征在于:所述串口操作流程包括以下步骤:获取串口号及相关硬件参数;open打开设备;tcsetattr设置硬件参数;select设置读取超时时间;write/read实现数据发送/读取;close关闭设备。
3.根据权利要求1所述的一种基于linux下操作串口及HID外设的通讯方法,其特征在于:所述HID设备操作流程包括获取VID、PID;hid_init初始化,hid_open打开对应设备;hid_write/hid_read_timeoout数据发送/读取;hid_close关闭设备,hid_exit退出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮金融信息技术有限公司,未经浪潮金融信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911053985.3/1.html,转载请声明来源钻瓜专利网。