struct _INTERFACE_DEscriptOR_STRUCT{BYTEbLength;//接口描述符的字节数大小BYTEbDescriptorType;//描述符类型编号,为0x04BYTEbInterfaceNunber;//接口的编号BYTEbAlternateSetting;//备用的接口描述符编号BYTEbNumEndpoints;//该接口使用端点数,不包括端点0BYTEbInterfaceClass;//接口类型 HID设备此值为0x03BYTEbInte...
x, /* bDescriptorType: 报告描述符类型 /CUSTOMHID_SIZ_REPORT_DESC, / wItemLength: 报告描述符的总长度 */在USB通信的HID描述符解析中,除了bCountryCode这一关键字段外,还需要关注其他字段,如bNumDescriptors和bDescriptorType。其中,bDescriptorType字段用于标识描述符的类型,而报告描述符(Report Descriptor...
在该文中所使用的范例即为整合鼠标的键盘装置,只是仅列出一个接口描述符(即编号为0x00 的键盘接口),另一个编号为0x01 的鼠标接口在该文中没有列出,读者可以自行参考本文所附的描述符程序代码descriptor.asm(即在标记为 interface_descriptor01,hid_descriptor01,和endpoint_descriptor01 处)。 表8:范例的输入报告...
BYTE bLength;//接口描述符的字节数大小BYTE bDescriptorType;//描述符类型编号,为0x04BYTE bInterfaceNunber;//接口的编号BYTE bAlternateSetting;//备用的接口描述符编号BYTE bNumEndpoints;//该接口使用端点数,不包括端点0BYTE bInterfaceClass;//接口类型 HID设备此值为0x03BYTE bInterfaceSubClass;//接口子类...
端点(Endpoint):位于USB设备或主机上的一个数据缓冲区,是USB设备中可以进行数据收发的最小单元,支持单向或者双向的数据传输,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)。设备支持端点的数量是有限制的,除默认端点外低速设备最多支持...
===>Endpoint Descriptor<=== bLength: 0x07 bDescriptorType: 0x05 bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3 bmAttributes: 0x03 -> Interrupt Transfer Type wMaxPacketSize: 0x001C = 1 transactions per microframe, 0x1C max bytes ...
/* USB_DT_INTERFACE: Interface descriptor */ struct usb_interface_descriptor { __u8 bLength; __u8 bDescriptorType; __u8 bInterfaceNumber; __u8 bAlternateSetting; __u8 bNumEndpoints; __u8 bInterfaceClass; __u8 bInterfaceSubClass;
Each endpoint descriptor is used to specify the type of transfer, direction, polling interval and maximum packet size for each endpoint. Endpoint zero, the default control endpoint is always assumed to be a control endpoint and as such never has a descriptor. ...
BYTE bDescriptorType; //接口描述符的类型编号 BYTE bInterfaceNumber; //该接口的编号 BYTE bAlternateSetting; //备用的接口描述符编号 BYTE bNumEndpoints; //该接口使用的端点数,不包括端点0 BYTE bInterfaceClass; //接口类型 BYTE bInterfaceSubClass; //接口子类型 ...
//设备描述 usb_device //接口描述usb_interface struct usb_device *dev = interface_to_usbdev(intf); //接口设置描述 struct usb_host_interface *interface; //端点描述符 struct usb_endpoint_descriptor *endpoint; struct usb_mouse *mouse; struct input_dev *input_dev; int pipe, maxp; int error...