修改了Report Descriptor, char KeyBoardReportDescriptor[36] = { 0x06, 0x00, 0xff, // USAGE_PAGE (Vendor Defined Page 1) 0x09, 0x01, 0xa1, 0x01, // COLLECTION (Application) 0x09, 0x01, 0x85, 0x01, 0x15, 0x80, 0x25, 0x7f, 0x95, 0x08, 0x75, 0x08, 0x81, 0x00, // INPUT 0x09, 0x01, 0x85, 0x01, 0x15, 0x80, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x91, 0x00, // OUTPUT 0xc0 // END_COLLECTION };
//interface_descritor //接口描述符 { sizeof(INTERFACE_DESCRIPTOR_STRUCT), //接口描述符的字节数大小 INTERFACE_DESCRIPTOR, //接口描述符类型编号 0x00, //接口编号为0 0x00, //该接口描述符的编号 0x01, //ENDPOINT_NUMBER, //非0端点数量为2,只使用端点主端点输入和输出 0x03, //人机接口设备(HID)类 0x00, //0x01, //使用的子类:支持BIOS根启动Boot的子类 0x00, //0x01, //使用的协议:键盘 0x00 //接口描述符字符串索引 },
Busbound显示
22.0 CTL 81 06 00 22 00 00 64 00 GET DESCRIPTOR 23.1.0 22.0 DI 06 00 ff 09 01 a1 01 09 01 85 01 15 80 25 7f 95 .............%.. 23.2.0 08 75 08 81 00 09 01 85 01 15 80 25 7f 95 01 75 .u.........%...u 23.2.16 22.2 DI 62 5b 5a 59 5e 5d 5c 61 b[ZY^]a 24.1.0(35) 我发的数据是62 5b 5a 59 5e 5d 5c 61,上位机收不到,请教是哪出了问题。 |