babde4995af70a662130869fdcdef61.png

上圖是在ch582?HostU2Enum基礎(chǔ)上參考CH559EVT修改而來(lái)的代碼;由于CtrlGetU2HIDDeviceReport有SetIdeal操作,所以就直接調(diào)用了,我們的設(shè)備有三個(gè)接口

/*********************************************************************
?*?@fn??????CtrlGetU2HIDDeviceReport
?*
?*?@brief???獲取HID設(shè)備報(bào)表描述符,返回在TxBuffer中
?*
?*?@param???none
?*
?*?@return??錯(cuò)誤碼
?*/
uint8_t?CtrlGetU2HIDDeviceReport(uint8_t?infc)
{
????uint8_t?s;
????uint8_t?len;

????CopyU2SetupReqPkg((uint8_t?*)SetupSetU2HIDIdle);
????pU2SetupReq->wIndex?=?infc;
????s?=?U2HostCtrlTransfer(U2Com_Buffer,?&len);?//?執(zhí)行控制傳輸
????if(s?!=?ERR_SUCCESS)
????{
????????return?(s);
????}

????CopyU2SetupReqPkg((uint8_t?*)SetupGetU2HIDDevReport);
????pU2SetupReq->wIndex?=?infc;
????s?=?U2HostCtrlTransfer(U2Com_Buffer,?&len);?//?執(zhí)行控制傳輸
????if(s?!=?ERR_SUCCESS)
????{
????????return?(s);
????}

????return?(ERR_SUCCESS);
}


調(diào)用CtrlGetU2HIDDeviceReport獲取接口0和接口1的報(bào)告描述符正常,但接口2的描述符不正常,如下圖

c7b372d05acee391b98bad925ec0c08.png

出現(xiàn)0x2E,

#define ERR_USB_TRANSFER? ? ? ?0x20? /* NAK/STALL等更多錯(cuò)誤碼在0x20~0x2F */

所以想請(qǐng)假如何解決這個(gè)問(wèn)題

另外我們usbhid描述符情況如下附件,是一個(gè)三個(gè)接口的hid類復(fù)合設(shè)備

icon_rar.gifUSB Composite Device.rar




熱門(mén)產(chǎn)品 : CH32X035: 32位USB+USB PD單片機(jī)