CH573F usb host模式下使用批量傳輸方式接收數(shù)據(jù),HOST總是返回0x2A的狀態(tài)字,一般會(huì)有什么原因?qū)е鲁霈F(xiàn)這種狀態(tài),此時(shí)應(yīng)該如何處理,是HOST繼續(xù)重試接收數(shù)據(jù),還是斷開(kāi)USB重新連接?
是枚舉已經(jīng)完成,批量傳輸過(guò)程中返回的0x2A是嗎?IN方向的數(shù)據(jù),從機(jī)有準(zhǔn)備好嗎?如果從機(jī)那邊沒(méi)有數(shù)據(jù),這個(gè)返回值表示NAK,是正常的,可以忽略。
是的,枚舉完成,正常通訊過(guò)程中的出現(xiàn)的。是不是0x2A只代表從機(jī)沒(méi)有準(zhǔn)備好數(shù)據(jù),沒(méi)有別的原因?qū)е庐惓#?/p>
最好能抓包看一下。
從機(jī)有數(shù)據(jù)待上傳,這時(shí)候來(lái)個(gè)IN指令,能夠上傳,就OK。
從機(jī)沒(méi)有數(shù)據(jù)待上傳,或者說(shuō)正在準(zhǔn)備,忙碌中,回復(fù)一個(gè)NAK,也正常。
從機(jī)準(zhǔn)備好了數(shù)據(jù),還返回NAK給主機(jī),就要檢查一下了。
一般來(lái)說(shuō)批量傳輸?shù)臄?shù)據(jù)完成,數(shù)據(jù)沒(méi)錯(cuò)沒(méi)少就行,返回0x2A表示NAK可以忽略,或者在代碼里就不打印這個(gè)返回值。