CH569W的EP0緩存區(qū)長(zhǎng)度為512,現(xiàn)在需要傳輸超過(guò)1024字節(jié)的數(shù)據(jù),在CH372Device例程中沒(méi)有找到答案。
1、對(duì)于EP0 IN操作,即CH569W發(fā)送1024字節(jié)的數(shù)據(jù)到PC,沒(méi)有問(wèn)題。
只需要在EP0_IN_Callback函數(shù)的返回值中給出本次傳輸?shù)拈L(zhǎng)度,返回值為0,就停止。
2、對(duì)于EP0?OUT操作,即CH569W從PC接收1024字節(jié)的數(shù)據(jù),就有問(wèn)題,發(fā)完512字節(jié)后就停止。
extern UINT16 EP0_OUT_Callback();?在函數(shù)說(shuō)明中他的返回值是0,他的返回值有什么作用嗎?
我也嘗試著在 USB30_NonStandardReq?或?EP0_OUT_Callback()函數(shù)中加入
USB30_OUT_Set( endp_0, ACK, 2);? //能夠接收一包
USB30_Send_ERDY( endp_0|OUT, 2); //通知主機(jī)下發(fā)一包
也沒(méi)有效果,PC端程序只能發(fā)送512字節(jié)后就返回錯(cuò)誤。
請(qǐng)問(wèn)EP0?OUT,傳輸超過(guò)512字節(jié)數(shù)據(jù),應(yīng)該怎么操作?