在Windows系统下使用USB转串口设备产品时,可能会遇到COM口号无法固定问题,常见情形如:同一个USB串口设备接在不同的USB口时,串口号会自动变化,实际应用时要打开设备管理器确定COM口号再通过应用软件选择,应用起来不是十分便捷。
Windows USB虚拟串口驱动的COM口分配一般均遵循以下原则:
1、针对USB描述符中内置USB Serial Number(USB串行序列号)的USB串口设备,默认系统会根据设备内置的SN编号,为其分配固定的COM口号,此时可以实现设备连接不同USB口时COM口均固定不变的效果,连接多个不同设备时因各芯片的USB Serial Number编号均不同,会分别对应生成不同的固定COM口。
2、针对USB描述符不包含USB Serial Number的USB串口设备,系统会根据设备的USB Location(USB位置)来分配COM口号,当连接不同的USB口时,因为USB端口的位置不同所以生成的COM口号也不同。
以CH343芯片为例:
因此当有固定COM口的应用需求时,建议直接选用出厂内置USB Serial Number的USB转串口芯片,具体型号:CH342、CH343、CH344、CH9102、CH9103等。
在生产环境下,经常会需要禁用Serial Number以提高生产和测试效率,可以阅读如下博客《Windows系统禁用串口序列号功能》