环境:XP,STM32F107VC 设备侧代码是根据STM32的大容量存储改的。EP1为IN,EP2为OUT。都为BULK传输类型。 USB驱动:是根据圈圈的USB驱动改的。 上位机:MFC,使用DriverIOControl调用驱动中的HANDLE,进行读写的。写过程用的发送按钮。读过程则是使用一个死循环的线程在后台循环接收。 功能:设备侧代码接收到USB发送的数据后直接通过USB反给PC,也就是上位机发什么就收到什么。 问题: PC单发单收都没有问题,通过跟踪,设备侧代码确实收到了数据并返回了。 但是PC侧如果循环发送数据,循环次数大于2时,接收线程只能接收到两组。如果再发送,接收的是上一次发送的数据。通过 bus hound跟踪,发送过程没有问题,都通过USB总线发下去了。但是接收数据的次数确实有问题。我没查出是什么原因,希望坛子里的大神给点意见。谢谢 以上代码开发都是基于圈圈的USB做的。 |
stm32 USB的CDC类传输掉数据
STM32F105 USB接收数据不断进入中断,出现“死机”现象
关于STM32CubeMX配置的USB例程电脑无法识别问题
STM32F407 USB-HS-OTG是否不外接PHY可以做虚拟串口?
如何做一个USB从机键盘用stm32f407
用STM32F4 Cube MX生成的USB Device C代码的BUG
USB Device + FatFS + SDIO 模拟U盘意外只读问题
USB Device + FatFS + SDIO 问题
STM32H7配置成USB DEVICE时,连接电脑时不进入中断
STM32F446 USB和串口1 冲突
回复:请教一个USB的问题
下层接收USB数据的Buffer满了。修改STM32侧代码,整了一个队列接收数据,问题解决。