CH569W的EP0缓存区长度为512,现在需要传输超过1024字节的数据,在CH372Device例程中没有找到答案。
1、对于EP0 IN操作,即CH569W发送1024字节的数据到PC,没有问题。
只需要在EP0_IN_Callback函数的返回值中给出本次传输的长度,返回值为0,就停止。
2、对于EP0 OUT操作,即CH569W从PC接收1024字节的数据,就有问题,发完512字节后就停止。
extern UINT16 EP0_OUT_Callback(); 在函数说明中他的返回值是0,他的返回值有什么作用吗?
我也尝试着在 USB30_NonStandardReq 或 EP0_OUT_Callback()函数中加入
USB30_OUT_Set( endp_0, ACK, 2); //能够接收一包
USB30_Send_ERDY( endp_0|OUT, 2); //通知主机下发一包
也没有效果,PC端程序只能发送512字节后就返回错误。
请问EP0 OUT,传输超过512字节数据,应该怎么操作?