Windows 7 pyftdi在OS X下找到设备,但在Windows下找不到

Windows 7 pyftdi在OS X下找到设备,但在Windows下找不到,windows-7,libusb,Windows 7,Libusb,我的MacBook Pro中插入了FTDI FT230XS。在OS X/python3.6下,以下工作: from pyftdi.ftdi import Ftdi x = Ftdi() x.open_bitbang_from_url('ftdi:///1') 然而,我在运行Windows7(32位)的VirtualBox下做同样的事情时遇到了麻烦。我努力确保USB设备在VirtualBox环境中存在:当我插入它时,会听到“bu dum!”的声音,并且serial.tools.list_port

我的MacBook Pro中插入了FTDI FT230XS。在OS X/python3.6下,以下工作:

from pyftdi.ftdi import Ftdi
x = Ftdi()
x.open_bitbang_from_url('ftdi:///1')
然而,我在运行Windows7(32位)的VirtualBox下做同样的事情时遇到了麻烦。我努力确保USB设备在VirtualBox环境中存在:当我插入它时,会听到“bu dum!”的声音,并且
serial.tools.list_port.comports()
确认它存在。但是,open失败了:

>>> from pyftdi.ftdi import Ftdi
>>> x = Ftdi()
>>> x.open_bitbang_from_url('ftdi:///1')
Traceback (most recent call last):
  File "C:\...site-packages\pyftdi\usbtools.py", line 375, in parse_url
    candidates[idx]
IndexError: list index out of range

During handling of the above exception, another exception occurred:
...
pyftdi.usbtools.UsbToolsError: No USB device matches URL ftdi:///1

你知道我应该怎么做吗?

假设你已经从某个源(Zadig、libusb win32等)加载了libusb-win32,你需要将FTDI设备声明为Windows。这些步骤的概述:

  • 从下载并安装
    libusb-win32-devel-filter-x.x.x.exe
    。选择最新版本(当前为1.2.6.0),并确保下载
    devel过滤器安装程序
  • 插入FTDI设备,单击以运行安装程序并按照说明操作。它应该为您的特定设备创建一个过滤器

如果你把问题写成评论而不是答案,那就更好了。@Emmanuel:欢迎来到StackOverflow,感谢你提供了很棒的pyftdi库!我刚刚回去,用Zadig安装了libusb win32 v1.2.6.0(谢谢提示!)。但是我不知道如何创建“过滤器”:我在C:上的任何地方都没有看到任何名为LibUSB-Win32的目录。我意识到了我的错误:我没有注意到LibUSB-Win32-devel-filter安装程序。一旦我做到了,一切都成功了。我回去充实了艾曼纽的回答,以反映其中的步骤。