你好,使用的官方提供的CH554.uvproj,代码是CH554-EVT\EXAM\USB\Device\CompatibilityHID.c,只修改了设备描述符,配置描述符,报告描述符,其他没有动。
UINT8C CfgDesc[41] =
{
0x09,0x02,0x29,0x00,0x01,0x01,0x00,0x80,0x64,
0x09,0x04,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
//以下为HID描述符 HID Keyboard, 2 endpoints
0x09,0x21,0x11,0x01,0x00,0x01,0x22,0xF3,0x01,
0x07,0x05,0x82,0x03,ENDP2_IN_SIZE,0x00,0x05,
0x07,0x05,0x02,0x03,ENDP2_OUT_SIZE,0x00,0x05,
};
报告描述符的长度设置为0xF3,0x01,在URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE中返回的长度是
0x233,多了64个字节,对比了改动代码之前的情况也是正确的。
可问题是返回的报告描述符只有前面的52个字节,其他都没有返回来。