我也问过这个问题服务器故障但也许更适合在这里问?我希望我没有违反任何礼仪。
在生产使用 FTDI USB 转串行芯片与 Windows 主机通信的设备时,我们会得到数百个 COM 端口,因为每次新的 FTDI vid+pid+serial 连接到 PC 时,Windows 似乎都会增加端口号。
我查看了 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\FTDIBUS 并尝试删除出现的新条目,但唯一的效果是,即使对于具有相同 vid+pid+serial 的设备(即已经连接过一次的设备),COM 端口号也会增加。
问题是:是否可以以某种方式重置此计数器,以便枚举从第一个空闲的 COM 端口号开始?
答案1
我不在工作,所以面前没有任何硬件,但是 FTDI 应用说明AN_107 - 高级驱动程序选项看起来有一些有希望的选择。
具体来说,我认为“忽略硬件序列号”(第 7.1 节,第 20 页)选项可以满足您的要求。
7.1 忽略硬件序列号
如果设备具有相同的供应商 ID 和产品 ID,但序列号不同,系统通常会将它们视为不同的设备。这会导致为每个设备安装驱动程序并为每个设备创建注册表项。
可以覆盖此行为,使系统忽略设备的序列号,并将连接到同一 USB 端口的所有具有匹配 VID 和 PID 的设备视为同一设备。这可以通过将名为 IgnoreHWSerNum 的 REG_BINARY 值添加到注册表并将其设置为 01 来实现。
这AN_123 驱动程序安装时如何分配 COM 端口应用说明也非常有用。
OT,如今的设备变得如此复杂,以至于大多数文档都从数据表移到了应用说明中。别忘了经常阅读应用说明!