CH32V307的高速USB上行偶尔丢包

这边从基于官方例子工程,进行了一些调整后,做了个项目,PC和MCU用端点1互相反复发包.然后出现了一个问题.

有时候MCU发送一个包,发送完后,产生了中断 内部处理分支为:"USBHS_TRANSFER_FLAG"->端点1->"PID_IN"

也就是发送成功的信号,而实际上PC端根本没收到这个包.

图片.png

不知道是不是我对这个中断流程分支的含义理解有误?


出现这个现象的概率为800分之1.每发送几百个包才出现一次,极难复现,非常难调试


有没有可能是传输过程中有什么错误?能否提供一个捕捉并处理传输错误的例子?


在发现丢包瞬间把mcu内程序挂起,用USB抓包工具Bus Hound查看了下通信数据,发现最后一个数据包确实没到达PC,而MCU内却收到了发送成功的中断. 问题多半还是在单片机这头


您好,可以将实现的设备类型,丢包前后数据传输过程以及端点1的状态详尽描述一下,邮箱发给我:zl@wch.cn


lz 可以分享一下你的源码吗

多谢~~



只有登录才能回复,可以选择微信账号登录