STM32 VCP と同一のデバイスが多数あります。Windows 8.1 は、デバイス用のシリアル COM ポートを作成します。1 つのデバイスを PC の USB ポートに接続すると、Windows は同じ COM ポートにバインドされます。2 番目のデバイスを別の USB ポートに接続すると、別のシリアル COM 番号で次の COM ポートが作成されます。これらのデバイスを取り外して別の順序で接続すると、デバイス間で COM ポートが切り替わります。毎回同じ順序の COM ポートの順序 (物理的に) が必要なため、これは問題です。USBlyzer ソフトウェアを使用すると、物理的な USB ポートごとに、ある種の USB ポート番号が異なることがわかります。
したがって、これらのデバイスをポート番号でアクセス (現在のデバイスを取得) したいと思います。または、すべてのデバイスを一覧表示し、デバイス オブジェクトからこのポート番号を取得しますか?
libusb のドキュメントには、次のようなメソッドがあることがわかりました。
uint8_t libusb_get_port_number (libusb_device *dev)
デバイスが接続されているポートの番号を取得します。
リンク: http://libusb.sourceforge.net/api-1.0/group__dev.html
多分PyUSBにもそれがあります...