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