初始化时应该设置EP_TX_NAK: SetEPType(ENDP3, EP_BULK); SetEPTxAddr(ENDP3, ENDP3_TXADDR); SetEPTxStatus(ENDP3, EP_TX_NAK);
要发送时再置EP_TX_VALID: UserToPMABufferCopy(&Mybuffer, ENDP3_TXADDR, size); SetEPTxCount(ENDP3, size); //设置发送缓冲区大小为 size SetEPTxValid(ENDP3); 或 SetEPTxStatus(ENDP3, EP_TX_VALID);
注意回调函数EP3_IN_Callback(void)是在发送结束后才被调用,进入这个函数表示上次发送成功,所以应该在主程序中拷贝要发送的数据并SetEPTxValid(ENDP3)。
|