Hi SSFG1992,
楼主你好!
你这个问题和我之前在与非网上答得一样:
https://www.nxpic.org.cn/module/forum/thread-621709-1-1.html
你参考下。
-------------------
今天我分析了下,发现在USB_DeviceCdcVcomCallback event=kUSB_DeviceCdcEventSendResponse的时候,有个:
/* User: add your own code for send complete event */
/* Schedule buffer for next receive event */
error = USB_DeviceCdcAcmRecv(handle, USB_CDC_VCOM_BULK_OUT_ENDPOINT, s_currRecvBuf,
g_UsbDeviceCdcVcomDicEndpoints[0].maxPacketSize);
用于准备下次接收的代码。
所以你可以把你APPTask里面,接收到数据之后,加一个准备下次接收的代码,如下:
- <p> if ((0 != s_recvSize) && (USB_CANCELLED_TRANSFER_LENGTH != s_recvSize))
- {
- int32_t i;
-
- /* Copy Buffer to Send Buff */
- for (i = 0; i < s_recvSize; i++)
- {
- s_currSendBuf[s_sendSize++] = s_currRecvBuf[i];
- }
- s_recvSize = 0;
- s_sendSize = 0;//kerry add</p><p><em>//Kerry add, used for Schedule buffer for next receive event</em>
- error = USB_DeviceCdcAcmRecv(s_cdcVcom.cdcAcmHandle, USB_CDC_VCOM_BULK_OUT_ENDPOINT, s_currRecvBuf,
- g_UsbDeviceCdcVcomDicEndpoints[0].maxPacketSize);
-
- }</p>
复制代码
Wish it helps you!
Best Regards,
Kerry