与串口通信时,首先要确定串口名PortName,如想对特定的设备,快速确定其插入计算机后分配的串口名,则可以通过设备固定的DeviceId在系统API里查询以确定,具体做法如下:
在设备管理器中查看设备的硬件Id
USB\VID_v(4)&PID_d(4)&REV_r(4)
其中:
v(4) 是 USB 委员会分配给供应商的4位数供应商代码。
d(4) 是供应商分配给设备的4位数产品代码。
r(4) 是版本代码。
USB\ VID_v(4)&PID_d(4)&MI_z(2)
其中:
v(4) 是 USB 委员会分配给供应商的4位数供应商代码。
d(4) 是供应商分配给设备的4位数产品代码。
z(2) 是从接口描述符的 bInterfaceNumber 字段中提取的接口号。
所以同一厂商的设备取到“USB\ VID_v(4)&PID_d(4)”即可
public string GetComNum()
{
var comNum = string.Empty;
try
{
using (var hardInfos = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity").Get())
{
foreach (var hardInfo in hardInfos)
{
var deviceId = hardInfo.Properties["DeviceId"].Value.ToString()