usb报告描述符解析

花了两天的时间来看报告描述符,根据hid1.1和一些网络上的相关资料,勉强看懂了一部分。

原先的时候,抓不住核心,有资料就看,后面才大致清晰了报告描述符到底怎样编排工作的。

一下资料都来自于网络,不过经过自己的加工整合。


报告描述符的语法不同于USB标准描述符,它是以项目(items)方式排列而成,无一定的长度;项目有一个前辍(prefix),然后跟着一个括号,内为该项目的数据。

报告描述符多以短项目居多,这里以短项目为例。
            8位    8位
item = prefix + data
若干个 item 就构成了一个报告描述符。

      prefix :       bTag      bType     bSize
项目前缀:  7 6 5 4     3 2      1 0    

bType:   00 主项目  01 全局项目  10区域项目

        
bType      btag      问号代表低四位,即bType+bSize,自己去组合吧。
主项目 : Input 0x8?
          Output 0x9?
      Feature 0xb?
      Collection 0xa1
      End Collection 0xc0

全局项目  Usage Page 0x0?
      Logical Minimum 0x1?
      Logical Maxinum 0x2?
      Maxinum Physical 0x3?
      Physical Minimum 0x4?
      Unit Exponent     0x5?
      Unit     0x6?
      Report Size 0x7?
      Report ID    0x8?
      Report Count    0x9?
      Push   0xa?
      Pop     0xb?

区域项目  Usage 0x0?
      Usage Minumum 0x1?
      Usage Maximum 0x2?


主项目: 用来定义报告中数据的种类和格式,而说明主项目之意义与用途为全局项目和区域项
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值