补充一下,MCU端EP中断接收正常。上位机给nuc472发送数据能成功,就是等不到nuc返回的数据,调式发现MCU死在了如下循环里面,一筹莫展啊。。。。。。。
void USBSendDataByDMA(uint32_t u32Addr, uint32_t u32Len)
{
/* Enable BUS interrupt */
UBSD_ENABLE_BUS_INT(USBD_BUSINTEN_SUSPENDIEN_Msk | USBD_BUSINTEN_RSTIEN_Msk | USBD_BUSINTEN_VBUSDETIEN_Msk |
USBD_BUSINTEN_DMADONEIEN_Msk);
/* bulk in, dma read, epnum = 1 */ //BULK-IN端口为EPC
USBD_SET_DMA_READ(BULK_IN_EP_NUM);
USBD_SET_DMA_ADDR(u32Addr);
USBD_SET_DMA_LEN(u32Len);
g_usbd_DmaDone = 0;
g_usbd_ShortPacket = 1;
USBD_ENABLE_DMA();
while(g_u8MscStart)
{
if (g_usbd_DmaDone)
{
break;
}
if (!USBD_IS_ATTACHED())
{
break;
}
}
}
|