我直接改官方例程主函数如下,串口调试助手能收到数据,但是会有大量的数据丢失, while (1)
{
count_in = 64;
UserToPMABufferCopy(buffer_in, ENDP1_TXADDR, count_in);
SetEPTxCount(ENDP1, count_in);
SetEPTxValid(ENDP1);
}
然后我把代码改为int main(void)
{
Set_System();
Set_USBClock();
USB_Interrupts_Config();
USB_Init();
while (1)
{
while(count_in);
count_in = 64;
UserToPMABufferCopy(buffer_in, ENDP1_TXADDR, count_in);
SetEPTxCount(ENDP1, count_in);
SetEPTxValid(ENDP1);
}
}
却一个数据都收不到了。count_in实在EP1_IN_Callback()中清零的。求助啊。在线等。 |