您现在的位置是:主页 > HID规范 >

HID 描述符(通用)

发布时间:2022-11-21 03:11:30所属栏目:HID规范 已帮助编辑作者:【USB接口百科】

HID设备一般与其它设备组合成USB复合设备.在Windows下USB通用驱动程序USBCCGP.SYS根据接口进行枚举。

设备描述符

HID的设备描述与通用USB驱动程序数据结构定义一致。

不过其bDeviceClass,bDeviceSubClass,bDeviceSubClass必须置为0,其端点0可支持的最大字节数可为8,16,32或64.

struct _DEVICE_DESCRIPTOR_STRUCT 
{ 
    BYTE bLength;           //设备描述符的字节数大小,为0x12 
    BYTE bDescriptorType;   //描述符类型编号,为0x01 
    WORD bcdUSB;           //USB版本号 
    BYTE bDeviceClass;   //USB分配的设备类代码,HID必须为0
     BYTE bDeviceSubClass;   //usb分配的子类代码,HID必须为0
     BYTE bDeviceProtocl;     //USB分配的设备协议代码,HID必须为0
     BYTE bMaxPacketSize0;   //端点0的最大包的大小 
     WORD idVendor;           //厂商编号 
     WORD idProduct;         //产品编号 
     WORD bcdDevice;         //设备出厂编号 
     BYTE iManufacturer;     //描述厂商字符串的索引 
     BYTE iProduct;           //描述产品字符串的索引 
     BYTE iSerialNumber;     //描述设备序列号字符串的索引 
     BYTE bNumConfiguration; //可能的配置数量 
}DEVICE_DESCRIPTOR_STRUCT

USB设备描述符各字段的详细定义见 USB设备描述符一节。

配置描述符

HID配置描述符在HID规范中并无特殊定义,关于配置描述符各字段的详细定义,详见USB配置描述符一节。

接口描述符

HID的接口描述符需要将bInterfaceClass设为3,以表示是HID设备;子类为00或01;协议代码可以为00,01或02。

struct _INTERFACE_DESCRIPTOR_STRUCT 
{ 
    BYTE bLength;           //设备描述符的字节数大小,为0x09 
    BYTE bDescriptorType;   //描述符类型编号,为0x04 
    BYTE bInterfaceNunber; //接口的编号 
    BYTE bAlternateSetting;//备用的接口描述符编号 
    BYTE bNumEndpoints;     //该接口使用端点数,不包括端点0 
    BYTE bInterfaceClass;   //接口类型 ,必须为03.
    BYTE bInterfaceSubClass;//接口子类型 ,为00或为01
    BYTE bInterfaceProtocol;//接口所遵循的协议 ,可为00,01,02
    BYTE iInterface;         //描述该接口的字符串索引值 
}INTERFACE_DESCRIPTOR_STRUCT

关于接口描述符各字段的详细定义,详见USB接口描述符一节。

端点描述符

HID端点描述符一般将端点设为中断方式。

HID端点描述符在HID规范中并无特殊定义,关于端点描述符各字段的详细定义,详见USB端点描述符一节。

字符串描述符

HID字符串描述符在HID规范中并无特殊定义,关于字符串描述符各字段的详细定义,详见USB字符串描述符一节。

     以上就是USB接口百科为您提供HID 描述符(通用)的解读,本文章链接: http://www.usb-hub.cn/hidgf/42325.html 欢迎分享转载,更多婚礼相关资讯请前往HID规范