最近在使用libusb开发STM32的上位机驱动
现在主要测试read 可以达到700+KB/S
现在遇到一个问题
就是使用libusb里面的函数对设备EP进行读取的时候 usb_bulk_read(dev, EP_IN, tmp, sizeof(tmp), 5000);
当设备EP的缓存里面有数据的时候 没问题 可以正常读到
但是当设备里面没数据的时候 上位机就会卡在这里 直到超时报错
求助下大侠这是哪里的问题
是上位机libusb的函数使用有问题?还是STM32里面的固件有问题?
我比较深入的看了下 STM32虚拟串口等例程对读处理的操作的处理
就是有数据就写到缓存里面等待发送 没有数据就没有任何EP操作
但是他们的驱动就没有报错啊
大家多给意见 谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
想到的一个解决方案是 回复上位机一个0长度的data包
这样可以啊,要不设备不发送数据,主机当然要等待超时了。。
一周热门 更多>