报表描述符定义了执行设备功能的数据格式和使用方法。
报表描述符和 USB 的其他描述符是不一样的,它不是一个简单的表格, 报表描述符是 USB 所有描述符中最复杂的 。报表描述符非常复杂而有弹性,因为它需要处理各种用途的设备。报表的数据必须以简洁的格式来储存,这样才不会浪费设备内的储存空间以及数据传输时的总线时间。
实际上可以这样理解, 报表内容的简洁,是通过报表描述符全面的、复杂的数据描述实现的 。
报表描述符必须先描述数据的大小与内容。报表描述符的内容与大小因设备的不同而不同,在进行报表传输之前,主机必须先请求设备的报表描述符,只有得到了报表描述符才可正确解析报表的数据。
报表描述符是报表描述项目( Item )的集合,每一个描述项目都有相对统一的数据结构,项目很多,通过编码实现。
(1)项目
报表描述符由描述 HID 设备的数据 项目(Item ) 组成。
项目的 第一个字节 (项目前缀)由三部分构成:
- 项目标志( item Tag ):说明项目的功能,
- 项目类型( item Type ):说明项目的数据类型,
- 项目长度( item Size ):说明项目的