| 以下是配置描述符和报告描述符,是和Itspy网友一样的 const u8 CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] =
 {
 0x09, /* bLength: Configuation Descriptor size */
 USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */
 CUSTOMHID_SIZ_CONFIG_DESC,
 /* wTotalLength: Bytes returned */
 0x00,
 0x01,         /* bNumInterfaces: 1 interface */
 0x01,         /* bConfigurationValue: Configuration value */
 0x00,         /* iConfiguration: Index of string descriptor describing
 the configuration*/
 0xC0,         /* bmAttributes: Bus powered */
 /*Bus powered: 7th bit, Self Powered: 6th bit, Remote wakeup: 5th bit, reserved: 4..0 bits */
 0x32,         /* MaxPower 100 mA: this current is used for detecting Vbus */
 //    0x96,         /* MaxPower 300 mA: this current is used for detecting Vbus */
 /************** Descriptor of Custom HID interface ****************/
 /* 09 */
 0x09,         /* bLength: Interface Descriptor size */
 USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: Interface descriptor type */
 0x00,         /* bInterfaceNumber: Number of Interface */
 0x00,         /* bAlternateSetting: Alternate setting */
 0x02,         /* bNumEndpoints */
 0x03,         /* bInterfaceClass: HID */
 0x00,         /* bInterfaceSubClass : 1=BOOT, 0=no boot */
 0x00,         /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */
 0,            /* iInterface: Index of string descriptor */
 /******************** Descriptor of Custom HID HID ********************/
 /* 18 */
 0x09,         /* bLength: HID Descriptor size */
 HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */
 0x10,         /* bcdHID: HID Class Spec release number */
 0x01,
 0x00,         /* bCountryCode: Hardware target country */
 0x01,         /* bNumDescriptors: Number of HID class descriptors to follow */
 0x22,         /* bDescriptorType */
 CUSTOMHID_SIZ_REPORT_DESC,/* wItemLength: Total length of Report descriptor */
 0x00,
 /******************** Descriptor of Custom HID endpoints ******************/
 /* 27 */
 0x07,          /* bLength: Endpoint Descriptor size */
 USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */
 
 0x82,          /* bEndpointAddress: Endpoint Address (IN) */
 // bit 3...0 : the endpoint number
 // bit 6...4 : reserved
 // bit 7     : 0(OUT), 1(IN)
 0x03,          /* bmAttributes: Interrupt endpoint */
 0x40,//0x02,          /* wMaxPacketSize: 20 Bytes max */
 0x00,
 0x10,          /* bInterval: Polling Interval (21 ms) */
 /* 34 */
 
 0x07,        /* bLength: Endpoint Descriptor size */
 USB_ENDPOINT_DESCRIPTOR_TYPE,        /* bDescriptorType: */
 /*        Endpoint descriptor type */
 0x01,        /* bEndpointAddress: */
 /*        Endpoint Address (OUT) */
 0x03,        /* bmAttributes: Interrupt endpoint */
 0x40,//0x02,        /* wMaxPacketSize: 20 Bytes max  */
 0x00,
 0x10,        /* bInterval: Polling Interval (32 ms) */
 /* 41 */
 }
 ; /* CustomHID_ConfigDescriptor */
 const u8 CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC] =
 {
 //#ifdef 0
 0x05, 0x8c, /* USAGE_PAGE (ST Page) */
 0x09, 0x01, /* USAGE (Demo Kit) */
 0xa1, 0x01, /* COLLECTION (Application) */
 /* 6 */
 
 // The Input report
 //0x85,0x01,
 0x09,0x03, // USAGE ID - Vendor defined
 0x15,0x00, // LOGICAL_MINIMUM (0)
 0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255)
 0x75,0x08, // REPORT_SIZE (8)
 0x95,0x16, // REPORT_COUNT (20)
 0x81,0x02, // INPUT (Data,Var,Abs)
 //19
 // The Output report
 //0x85,0x02,
 0x09,0x04, // USAGE ID - Vendor defined
 0x15,0x00, // LOGICAL_MINIMUM (0)
 0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
 0x75,0x08, // REPORT_SIZE (8)
 0x95,0x16, // REPORT_COUNT (20)
 0x91,0x02, // OUTPUT (Data,Var,Abs)
 //32
 0xc0 /* END_COLLECTION */
 //#endif
 }; /* CustomHID_ReportDescriptor */
 |