D13驱动问题,我进行BULK-Only协议测试,发现当Host对Device进行大批量数据传送时,接收任务会丢包,原因是USBReadISR在进行任务检测时如果发现没有就绪任务会清空接收缓冲区。在实验中,Host发送Write10命令,其命令后紧跟着要写入的数据。device收到这个命令后进行解析,然后启动一个线程去接收数据。实验结果是这个接收数据的线程往往收不齐数据,引起超时,USB总线复位。造成这个问题的原因是在接收数据线程还没有启动时,已经有了USB接收中断,USBReadISR函数判断没有接收线程而丢掉数据。请问有什么办法解决这个问题。谢谢 |