但考虑到USB-HID的驱动文件较多,代码量较大,所以你写的IAP可能就会大些,但都没啥影响,反正STM32的FLASH也不差一个工程的代码量。
USBHID是HumanInterfaceDevice的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。下列是HID类别设备的主要能力:1、交换的数据存储在称为报表(report)的结构内,设备的固件必须支持HID报表的格式。主机在控制与中断传输中传送与要求报表,来传送与接收数据。报表的格式非常有d性,可以处理任何类别的数据。2、每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是8个字节,全速设备每一笔事务最大是64个字节,高速设备每一笔事务最大是1024个字节。一个报表可以使用多笔事务。3、设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。所以主机会定时轮询设备,来取得最新的数据。下列是HID类别设备的主要限制:1、最大的传输速度有限,特别是低速与全速的时候。主机可以保证低速的中断端点,每10ms内不会有超过1笔事务,每一秒最多800个字节。主机可以保证全速端点,每1ms1笔事务,每一秒最多是6400个字节。主机可以保证高速端点,每125us3笔事务,每一秒最多24.576MB。2、没有保证的传输速率。如果设备是设置在10ms的时距,事务之间的时间可能等于或小于10ms。除非设备是设置在全速时在每个帧传输数据,或是在高速时在每个微帧传输数据。这是最快的轮询速率,所以断点可以保证有正确的带宽可供使用。3、Windows98Gold系统不支持中断输出传输,所有主机与设备的数据都必须使用控制传输。HID设备除了传送数据给主机外,它也会从主机接收数据。只要能够符合HID类别规范的设备都可以是HID设备,在规范内提到了条型码笔、温度计以及电压计等例子。这些设备虽然没有传统的人机接口,但是它们都可以传送数据给主机,也可以从主机接收配置的要求。设备除了HID接口之外,它可能同时还包含有其他的USB接口。例如影像显示设备可能使用HID接口来做亮度,对比,与更新率的软件控制,而使用传统的影像接口来传送要显示的数据。USB扩音器可以使用实时传输来播放语音,同时使用HID接口来控制音量,震荡,与低音等。HID接口通常比传统的控制接口来得便宜。HID类别设备的规范是DeviceClassDefinitionforHumanInterfaceDevices。另外还有一份文件HIDUsabeTables,用来定义让主机了解以及使用HID数据的数值。这两份文件是由USBDeviceWorkingGroup所制定,Group的成员都是USB实施者论坛的会员。您可以在USB实施者论坛网站上下载这两份文件。地址:http://www.usb.org框架:IOKit.framework
简介:用于Mac OS 上位机软件根据USB线连接下位机硬件,与之进行数据交互,通讯。
开发步骤:
1).无配对设备
2).单类设备配对
3).多种设备配对设置
更多内容请参考: 苹果官方开发者文档
time:20190926
我新整理的 带实例demo的 USB HID 通讯文章
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)