从零开始学USB(二十、USB接口HID类设备(二)_ 表描述符Main类)

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

(1)项目

表描述符由描述 HID 设备的数据 项目(Item ) 组成。
项目的 第一个字节 (项目前缀)由三部分构成:

  1. 项目标志( item Tag ):说明项目的功能,
  2. 项目类型( item Type ):说明项目的数据类型,
  3. 项目长度( item Size ):说明项目的数据部分的长度。

HID 的项目有短项目和长项目两种,其中短项目的格式如下图。

短项目的数据字节数由 bSize 的值

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月10日
下一篇 2019年1月10日

相关推荐