hid 报告描述符

本文介绍了USB固件开发中HID设备的关键概念,包括HID描述符和报告描述符。HID描述符提供下级描述符信息,如报告描述符,而报告描述符定义了设备与主机间数据交换的报告格式。报告分为输入、输出和特征报告,其格式由报告描述符详细规定,包括数据项的逻辑最小值、最大值、报告大小和计数等。理解并正确实现这些描述符对于HID设备的识别至关重要。
摘要由CSDN通过智能技术生成


USB固件开发(HID设备)

1. HID设备的识别

HID设备类除了有文档第一部分所述的一些标准描述符(包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)外,还有自己的类专有描述符:

HID描述符

报告描述符

物理描述符

正确实现HID设备类专用描述符是主机成功识别HID设备的关键。HID描述符和报告描述符是必须要使用的,物理描述符一般不被使用。

1.1 HID描述符

HID描述符跟接口描述符、端点描述符类似,也是随配置信息一起返回给主机的,主机并不会单独发出请求来读取它。HID描述符在配置信息中的位置是紧接接口描述符。例如:

_Config_Descriptor:

.dw _Config_Descriptor_End-_Config_Descriptor //bLength: 0x09 byte

.dw 0x02 //bDescriptorType: CONFIGURATION

.dw _Config_Descriptor_Total-_Config_Descriptor //wTotalLength:

.dw 0x00

.dw 0x01 //bNumInterfaces: 1 interfaces

.dw 0x01 //bConfigurationValue: configuration 1

.dw 0x00 //iConfiguration: index of string

.dw 0xC0 //bmAttributes: self powered, Not Support Remote-Wakeup

.dw 0x32 //MaxPower: 100 mA

_Config_Descriptor_End:

_HID_Interface_Descriptor:

//Interface 1 (0x09 byte)

.dw 0x09 //bLength: 0x09 byte

.dw 0x04 //bDescriptorType: INTERFACE

.dw 0x01 //bInterfaceNumber: interface

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值