由于我需要傳 BOS Descriptor 的內(nèi)容,Microsoft OS 2.0 descriptor 長(zhǎng)達(dá) 178 字節(jié),但是我每次只能發(fā)送 64字節(jié)
我參考了官方示例的 USB 中斷處理函數(shù),其中
??????else ??????{ ????????if?(?chtype?&?0x80?)?????//?上傳 ????????{ ??????????len?=?(?SetupReqLen?>?DevEP0SIZE?)?? ??????????????DevEP0SIZE?:?SetupReqLen; ??????????SetupReqLen?-=?len; ????????} ????????else ??????????len?=?0;????????//?下傳 ????????R8_UEP0_T_LEN?=?len; ????????R8_UEP0_CTRL?=?RB_UEP_R_TOG?|?RB_UEP_T_TOG?|?UEP_R_RES_ACK?|?UEP_T_RES_ACK;????//?默認(rèn)數(shù)據(jù)包是DATA1 ??????}
這里會(huì)將 len 設(shè)置成 64 (DevEp0Size),期望的是 Host 繼續(xù)發(fā)同樣的請(qǐng)求,并且?pSetupReqPak->wLength 為 178 - 64,但這并沒有發(fā)生,我這里是不是做錯(cuò)了,需要怎么分包發(fā)送呢?