[BLE--HID]USB HID设备类定义

简述

HID设备,即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等。一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备。在蓝牙技术中,HID设备的接入就是无线的了。不过HID的相关定义当然还是一样的,不然设备驱动,兼容等问题都会有很多麻烦了。蓝牙中有HID, HOGP profile,但是只是在蓝牙数据通信上做的规范,HID具体含义相关,还是需要看USB相关的HID文档。

USB设备类?

USB设备可以在启动时,或者是在之后的连接状态下,都能够被主机进行配置。USB设备种类是非常多的,前面只列举了皮毛,而众多的USB设备之间差异化还是特别大的,这样的情况,就会增大开发的难度,因为几乎每类USB设备都得重新对其进行规范和定义了。于是,设备类被提出,就是将众多的USB设备进行大类的划分,这样,每个大类中的USB设备之间就可以抽离出许多共性的东西,那样就减少了许多的重复定义和开发工作了,那具体的HID设备到底都被划分成了哪些大类呢?请看如下:
这里写图片描述

定义HID设备类目的

之所以单独定义了HID设备类,除了上面的原因,还有如下:
- 尽量节省设备数据空间(应当是通过定义简单的字节流,来表示比较复杂的内涵……)
- 允许Application跳过无用信息(不遵循HID设备类定义设备,HID App当然没必要关注)
- 可扩展,且稳定
- 支持嵌套(nesting)和集合(collection)(用类的方式来定义,当然就具有了集合,分层等属性咯)
- 运行通用应用的自描述(这个应当就是指的descriptor的管理方式了)

设备管理

USB设备一般会同时有多个连接到一台机器,那每个设备应当有自己的自描述,因此主机就知道如何区分某个设备了。这些字描述信息,会存放在设备的掉电不失的存储区,称为descriptor,被翻译为描述符。这些descriptor有不止一种,如report,physical等:
这里写图片描述
Report descriptor描述的是该HID设备会产生的一些数据(格式,含义等等),Physical descriptor描述的是使用者人的一些信息:
这里写图片描述
对USB HID设备而言,Descriptor的框架如下:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技塑未来-苏导

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值