采用万利的板子EK-STM32F
自己编写的两个函数,请高手帮忙看看有什么问题
usb接收数据函数 void USBCom_RecvPacket(u8 *Data) { pUSBRecvData = Data; USBRecvLen = GetEPRxCount(ENDP3); PMAToUserBufferCopy(pUSBRecvData,ENDP3_RXADDR,USBRecvLen); SetEPRxValid(ENDP3); }
usb发送数据函数 void USBCom_SentData(u8 *Data, u16 USBSentLen) { pUSBSendData = Data; UserToPMABufferCopy(pUSBSendData, ENDP1_TXADDR, USBSentLen); SetEPTxValid(ENDP1); }
采用的是ViturlComPort 程序更改过来的, 主函数为 int main(void) {
#ifdef DEBUG debug(); #endif Set_System(); Set_USBClock(); USB_Interrupts_Config(); USB_Init();
while(1) { USBCom_RecvPacket(RecvBuffTemp); USBCom_SentData(RecvBuffTemp, USBRecvLen); } }
#ifdef DEBUG
为什么第一次设备接收数据后,设备一直在给PC发送数据? |