STM32 USB虚拟串口 死掉的问题
大家都说STM32 USB的虚拟串口有问题, 只要PC端串口打开着, 然后拔掉USB, 再插上USB的时候就打不开串口, 就拔掉USB以后在PC端没有彻底关闭掉串口, 造成再插上的时候也是认为是串口已经在打开状态。对比CH340和CP2102等 都没有这种问题, 把问题归结于ST提供的PC端虚拟串口驱动, 然后发邮件给ST咨询, ST说: 我们的驱动是没有问题的, 是串口助手的问题。
彻底失望, 人家340、2102等都没有问题, 就你有问题, 怎么把问题归结于串口助手呢, 怎么能说出这么不负责任的话呢? 我们的产品中其它问题都能解决, 就是解决不了这个问题。
失望ST官方能够正视并且尽量解决这个问题, 那真的是广大开发者的福音 把问题重申一次:
1、USB 在串口助手打开的时候拔掉, 此时如果串口助手没有关闭刚才的com口, 重新插上USB就会出现USB端口永远被占用的情况, 只能重启电脑解决;
2、在部分“克隆版”的系统中无法安装 ST的虚拟串口驱动, 估计系统被裁剪太多了;
3、情况助手我们不是不能开发,但是就是要要求客户只能用我们的串口助手了, 并且还要安装.NET才能解决问题“1”, 而我们的原则是不对客户进行太多的要求, 尽量少安装、普通串口助手也能使用;
4、很多童鞋说“这是USB本身的问题”, 那么CH340、CP2102怎么就不存在这些问题呢?难道人家不是USB? 楼主用的哪个串口工具?把串口工具关了,再打开也提示这个吗?串口显示的是串口几? 楼主的意思是使用虚拟串口,拔USB之前要关PC端串口,不关拔掉再插上USB,串口不能用? 我在使用 340 的时候, 发现, 一拔出USB 串口就自动关闭了,你下次插上一定要重新打开串口的, 否则没戏, 我觉得这应该是串口助手软件的功能吧, 打电话给微软,人家也会说是你的问题,驱动是微软做的,这些小问题。肯定不是ST或者微软的问题。因为我的STM32做的USB转3串口用的好好的。 楼主,串口没这么容易挂掉的吧,可能是串口助手上的串口号不能自动刷新,如果是串口运行的过程中拔掉了,有可能导致电脑蓝屏或死机(被2102搞了几次)。 晓枫VS枯叶 发表于 2014-12-22 12:07
楼主,串口没这么容易挂掉的吧,可能是串口助手上的串口号不能自动刷新,如果是串口运行的过程中拔掉了,有 ...
没被折腾到蓝屏,但是串口助手软件会死掉。
如果点击关闭串口之后再拔 USB 线,则没有问题。 注册Windows消息,如果有USB设备拔出,则释放资源,这是串口工具应该做到的。 各式各样的串口助手一大堆,不可能保证都是高手写出来的高质量的软件,我用过这么多,突然拔掉串口线,会出现各种各样的奇葩问题,总结一下:
1.正如你说的,串口助手没反应,仍然是显示串口打开状态
2.拔掉后,不停地弹出错误窗口,关都关不掉,只能任务管理器结束
3.拔掉后,电脑卡死或者软件卡死转圈圈
4.拔掉后电脑蓝屏
5.拔掉后串口助手突然消失
ST毕竟是大厂,大厂的东西还是可以值得信赖的,还是多从自身找找问题吧。 实际测试了下串口助手,在拔掉USB后,再插上USB,虽然串口助手显示的是串口打开,但不工作,必须关掉串口再打开,串口助手才正常工作