??case?UIS_TOKEN_SETUP?|?0:????????????????????????????????????????????????//SETUP事務(wù) ????????????UEP0_CTRL?=?bUEP_R_TOG?|?bUEP_T_TOG?|?UEP_R_RES_ACK?|?UEP_T_RES_ACK; len?=?USB_RX_LEN; ????????????if(len?==?(sizeof(USB_SETUP_REQ))) ????????????{ ????????????????SetupLen?=?UsbSetupBuf->wLengthL; ????????????????if(UsbSetupBuf->wLengthH?||?SetupLen?>?0x7F?) ????????????????{ ????????????????????SetupLen?=?0x7F;????//?限制總長度 ????????????????} ????????????????len?=?0;????????????????????????????????????????????????????????//?默認為成功并且上傳0長度 ????????????????SetupReq?=?UsbSetupBuf->bRequest; ????????????????if?(?(?UsbSetupBuf->bRequestType?&?USB_REQ_TYP_MASK?)?!=?USB_REQ_TYP_STANDARD?)/*?HID類命令?*/ ????????????????{}
此處進行描述符傳輸時 ,示例代碼進行了長度的限制,保證返回的數(shù)據(jù)長度小于128字節(jié)。
請問為什么需要這樣處理?對于部分鍵鼠設(shè)備,有超過128字節(jié),甚至超過256字節(jié)的描述符數(shù)據(jù),應(yīng)該如何進行處理?
當(dāng)主機發(fā)來請求后,應(yīng)該如何來分段傳輸完整的描述符數(shù)據(jù)?
熱門產(chǎn)品 :
CH390:以太網(wǎng)控制器芯片