我正在编写一个简单的代码来查找Windows平台中的USB转串口,如果端口是我想要的(可以通过VID / PID编号过滤),那么程序将打开端口。
我使用 MonkeyBread 插件 WinUSBDeviceMBS,具有 VendorID 和 ProductID 属性,我可以选择特定的 USB 端口。示例代码如下。
Dim devices() As WinUSBDeviceMBS = WinUSBDeviceMBS.devices
For Each d As WinUSBDeviceMBS in devices
msgbox d.vendor+"-" + str(Hex(d.VendorID),"0000") + " " +d.product+"-" + str(Hex(d.ProductID),"0000")+d.serialnumber
Next
'this will give you a message box with "FTDI-0403 FT232R USB UART-6001 A60251HV"
此外,在 Serial.serialport.Name 的帮助下,我可以获得串行设备的 COM 端口名称。暗我,计为整数计数 = System.SerialPortCount
for i = 0 to count - 1
Msgbox System.SerialPort( i ).Name
next
'this will popup msgbox with "COM1" or "COM3"... all the valid port number, but no vendor info or product info
但我找不到将这两者匹配在一起的方法。有任何想法吗?