释放Windows系统使用中的串口号 - 串口蓝牙产品 - 市场与应用 - Powered by Discuz!

首页 | 产品与服务 | 市场与应用 | 购买指南 | 防伪查询 | 水木行论坛 | 关于水木行 | ENGLISH

市场与应用

 找回密码
 禁止灌水
搜索
热搜: 活动 交友 discuz
查看: 12952|回复: 0

释放Windows系统使用中的串口号

[复制链接]
发表于 2021-1-24 05:28:52 | 显示全部楼层 |阅读模式
Windows系统电脑,反复安装不同版本的蓝牙驱动,或经常连接多种蓝牙设备、或经常安装USB转串口的设备,系统每次都会自动分配新的COM串口。以前使用过的COM串口,即使后来不用了,系统有时不会自动释放。这导致再安装新的设备时,系统新分配的COM串口号越来越高,甚至出现COM16这样的大数字。

COM-n0.jpg

查看设备管理器-端口-COM16-属性-端口设置-高级-COM端口号,发现从COM2-COM15全处于“使用中”,但实际上这些串口并没有被使用。
电脑上的串口应用软件,许多只提供COM1-COM4的选项,大数字的串口号,软件往往无法识别,这会导致串口应用软件不能工作。

怎样才能释放这些“使用中”的串口号,把越堆越高的COM串口号降下来呢?

COM-n1.jpg

可以通过删除注册表中ComDB数值项来清除系统对使用过的串口号的记忆,方法是在“运行”对话框中输入“regedit”进入注册表,然后进入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter,可以看到ComDB数值项,它的值反应了当前系统串口号的使用情况。比如FEFF,倒过来是FFFE,对应的二进制是1111111111111110,从后往前每一位分别对应从COM1到COM16的占用状态,数值为0,表示空闲,数值为1,表示已被占用。数值FEFF说明从COM2-COM16的串口号都已被占用,以后如果系统发现新的串口设备,就只能从COM17开始分配了。

COM-n2.jpg

最简单的解决的办法就是删除ComDB这个数据项。方法是右键点击ComDB,选择“删除”,然后退出注册表编辑器。
删除了ComDB,再次查看设备管理器-端口-COM11-属性-端口设置-高级-COM端口号,会发现从COM2-COM15已不再处于“使用中”。
这时候可以手动调整一下串口号,比如把COM11改为COM3,或把COM16改为COM5,方法是:COM端口号-选择"COM3"-确定-确定。
完成后设备管理器如下图所示。

COM-n4.jpg

由于删除了ComDB,系统失去了对使用过的串口号的记忆,也包括对正在使用中的串口号的记忆。建议再次运行注册表编辑器,对正在使用中的串口号进行保护。针对上图设备管理器里的端口现状,可以将ComDB的值改为00011111,即1F,不让系统在COM1-COM5分配新的串口号,避免以后出现相同串口号的问题。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 禁止灌水

本版积分规则

QQ|水木行 ( 京ICP备19050381号

GMT+8, 2024-4-18 20:21 , Processed in 0.345450 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.