我有許多與STM32 VCP相同的設備。 Windows 8.1爲設備創建串行COM端口。如果我將一臺設備連接到任何PC的USB端口,Windows將綁定到同一個COM端口。將第二個設備連接到其他USB端口後,它將創建具有不同串行COM編號的下一個COM端口。如果我拔掉這些設備並以不同的順序連接,COM端口將在設備之間切換。這是一個問題,因爲我每次都需要相同的訂單COM端口(物理)。 使用USBlyzer軟件,我可以看到某種形式的USB端口號是每個物理USB端口不同:是否有可能通過USB端口使用PyUSB獲得USB設備
所以我想訪問(獲取當前設備),這些設備的端口號。或者列出所有設備並從設備對象獲取此端口號?
在libusb的文檔中發現它有這樣的方法:
uint8_t libusb_get_port_number(libusb_device * DEV)
獲取一個設備被連接到的端口的數量。
鏈接:http://libusb.sourceforge.net/api-1.0/group__dev.html
也許PyUSB有它太...
我從來沒有見過Windows的行爲。如果這些設備是相同的(並且沒有USB序列號),那麼它們分配的COM端口號只應取決於它們插入的端口號,而不是它們插入的順序。但我承認我不接受不經常測試沒有序列號的USB設備,可能會更改某些設備。這是什麼版本的Windows? –