报告的ID,一个报告描述符可以描述多个HID功能,主机通过报告的ID就知道是哪个HID功能硬件发送的数据。举个例子,如果一个USB HID设备为键鼠一体的设备,就可以通过Report ID把键盘和鼠标的数据描述分开,这样可以实现面向对象管理,其实就是相当于实现了多个报告,设备在发送数据的时候,第一个字节永远是Report ID,如果是鼠标...
USB/HID设备报告描述符详解 概述: 报告在这里意思是数据传输(datatransfer),而报告描述符是对这些传输的数据作用途(usage)上的说明。 USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(transaction)。交换是由几个封包(packet)组成,而传输是由一个或几个交换来...
首先,到USB.org - HID Tools页面找到“Device Class Definition for HID”文档,下面叙述的内容本质上是该文档中的重要部分。 其次,在上述页面获得HID描述符工具,然后读完本教程之后想着如何使用它。手动写HID报告描述符是一件令人头痛不已的事情,本工具可以替代你转换二进制和十六进制,并查找数字代表的意义。 什么是...
1. 报告ID冲突:如果您的设备中有多个报告ID设置为0x04,这可能导致USB HID在接收到数据时无法正确区分...
USB/HID设备报告描述符 USB/HID设备报告描述符详解 概述: 报告在这里意思是数据传输(datatransfer),而报告描述符是对这些传输的数据作用途(usage)上的说明。 USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(transaction)。交换是由几个封包(packet)组成,而传输是由一个或...
首先你需要做的,是能够单独实现键盘,按下按键,电脑显示对应字符(这一步很简单的,如果你没有实现这个,也不会有组合设备的需求)。然后利用ReportID,把键盘和手柄的hid描述符,放在同一个函数(CUSTOM_HID_ReportDesc_FS)里面。我的hid描述符如下 此时编译上传代码,插入电脑,能成功识别出一个Hid Keyboard Devide和一个...
HID设备产生的数据以report的形式向主机发送,其格式由USB HID规范定义;HID规范的核心是定义了现实世界的各种物理对象或者物理单位并指明其用途;可以查询HID相关规范比如Usage Page以及Usage ID的定义。 HID Report主要使用中断和控制两种传输;其中,中断传输主要 用于低时延场合比如按键或者鼠标的移动,而控制传输主要用于对...
USB_HID设备报告描述符详解 概述 报告在这里意思是数据传输(data transfer),而报告描述符是对这些传输的数据作用途(usage)上的说明。USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(transaction)。交换是由几个封包(packet)组成,而传输是由一个或几个交换来完成...
然后,键盘数据信息将通过与hidscript脚本描述的键盘相对应的位数据流传输,鼠标数据将通过hidscript脚本传输 hidscript脚本描述的mouse对应bits数据位流传送,但同一个input管道怎么能传送两个独立的 至于数据流,答案很简单:不,所以引入了reportid的概念。ID用于标识多个独立的位数据流, pc的hid驱动程序根据id,将这些独立...
//该报告描述符号由HID Descriptor tool生成 以下是一个USB鼠标的报告描述符 code char MouseReportDescriptor[63] = { 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x06, // USAGE (Keyboard) 0xa1, 0x01, // COLLECTION (Application) 这就是一个MAIN Item,可以对应上图查看 ...