1.现象
在嵌入式开发过程中,有很多情况下要使用串口调试,其中485/422/232转usb串口是非常常见的做法。
根据协议,接口芯片不同,需要安装对应的驱动程序,比如ch340,cp2102,CDM212364等驱动。可通过串口助手,或者对应的内部上位机接收或者发送数据。
我每次装机时也都会将这些驱动装好,便于后续调试。但是近期我在使用某家全新的232转串口数据线做调试时,电脑频繁报错:无法找到串口。我又试了其他同事的电脑,有的可以正常访问,有的和我一样提示串口占用。
所有串口zh助手都会提示占用
我也多次尝试不同的串口助手,都会显示此错误。
在设备管理器中可以明确看到串口驱动正常,没有黄色三角号。
串口驱动显示正常
而且明确写的是CH340驱动,我换一根串口线就好好的,用这某家厂商的这根就是会提示串口占用。我重启电脑,换USB接口,均无效。
在网上找了一通,常见的方案如下。
2.解决办法
2.1设备管理器里面卸载驱动,重新插拔
卸载设备,重新插拔
我进行了尝试,没有用处。
我甚至在卸载设备后,拔下串口线,重新启动电脑,也没有好转。
2.2删除注册表编辑器的文件
1.点击左下角"开始"菜单------"运行"------输入"regedit"------点击"确定",打开++注册表++编辑器。
2.依照这个路径打开"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter"
3.删除右侧的"ComDb"值,然后重启电脑就可以了。
删除注册表编辑器的某一文件
我甚至将他的子目录的一堆串口号记录都删了。
所有串口号删掉
重启电脑,毫无用处。
2.3设备管理器高级设置
进入设备管理器,右键出问题的串口-属性-端口设置-高级-展开端口号,查看使用情况。
设备管理器端口号高级设置(示例图,实际图中显示占用)
很离谱,我的端口居然显示他在被占用,而且还不显示谁在占用。按道理我没开串口助手、也没连上上位机,串口应该是清闲状态。
2.4重装最新串口驱动
很无奈,这个串口线肯定是要用的,我就去沁恒官网上找了个最新的串口驱动。
此处附上官网下载链接:
卸载老产品,安装最新的驱动,重启电脑,居然还是无法链接???
这下给我整不会了。
2.5重装老串口驱动
万般无奈下,我准备换回我的老驱动,因为这款驱动还是很久很久以前,我刚入门嵌入式,我老学长传给我的。我用他接过无数串口,用起来一直挺好的,没出问题。
老版本串口驱动
新版本串口驱动
很神奇,串口居然可以接上了!!!
为此我又重试了几次,电脑每次重启,串口就会被占用。
这时候,需要卸载老串口驱动 ,再安装老串口驱动。就可以让串口不在忙碌!正常使用!!!
2.6重装系统
如果真是啥都不行,重开吧。万一有用呢,记得备份好资料。
3.一些想法
有些行业软件不是越新越好用,有可能老的反而资料多一些,用起来舒服一些。
代码界有句话说的好,代码能动你就别管他。软件你用着舒服你也别管他,不要更新,更新后反而不稳定呢?