请问计算机上位程序,如何得知USB发生故障?

我做做一个简单的单向数据传送,以前用并口做,很简单,计算机程序连续写并口就可以了。并口线发生断路,也不对计算机程序有任何影响。只需连接好并口,又可以接收到数据。

现在改用CH372,使用 CH375WriteData();连续写USB,但是如果USB线发生断路,计算机程序就卡住了。即使我用 CH375SetTimeout()把超时设为0,当USB线断路时,计算机程序也会变得运行缓慢。

我只是希望USB硬件设备发生任何故障,对计算机程序都没有任何影响,请问如何实现?

如何使程序判断出USB设备发生故障呢?

就是说,如果USB设备发生故障,无法写入,我想让程序判断出来。停止连续写入。

也就是说,计算机程序连续运行,不能重启,故障发生后不受影响,故障排除了后,又可以恢复数据传送,请问如何实现?

谢谢!

USB线断了,CH375WriteData写会发送超时,第3个参数返回实际传输的长度,超时时第3个参数返回值与调用之前要发送多少字节是不相等的;并且要判断CH375WriteData函数的返回值是否为真!如果设备不在了话CH375WriteData应该返回0。你可以用设备插拔通知,来判断设备是插入还是拔除!CH372DBG.ZIP里设备插拔通知有相关的代码!


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