通过搜索互联网资料,发现目前有两种流行的模块用于控制ftdi芯片,一种是pylibftdi,不过目前看到的资料只能控制USB转成串口,暂时无法控制I2C和SPI接口,这两种接口的控制程序还在开发计划中。https://pypi.org/project/pylibftdi/。
另一种模块是libftdi,可以支持SPI和I2C接口,安装过程比较复杂。参考以下文章,写得非常详细,但是在我的笔记本上安装后,导入ftdi模块出错(DLL load fail),可能文中的模块只支持32位系统。
https://learn.adafruit.com/adafruit-ft232h-breakout/windows-setup
下面我再描述一下我的安装过程:
根据文中的描述,FT232H不能同时工作在两种模式下,也就是MPSSE模式和UART模式不能同时兼容,需要安装不同的驱动程序。
我用的python版本是3.6,而64位安装包中也只支持3.6的python。
1. 安装libusb 驱动程序
在Zadig主页http://zadig.akeo.ie/下载Zadig程序。在运行这个工具之前,从电脑上拔出所有带FTDI芯片的模块,以免在安装驱动程序的时候误操作。
插入带FTDI FT232H芯片的板子,确保只有这块模块包含FTDI芯片。
运行刚刚下载的Zadig工具,点击Options,下拉菜单中选择List All Devices。列表框中会出现多个设备,选择要修改驱动程序的FTDI设备,确保选中设备后,USB ID是0403 6014. 如果选错的设备,会导致相应的设备不能工作。
在驱动程序列表框中,点击上下箭头,选择libusbK 驱动程序。点击Replace dirver按钮,把FTDI设备的驱动程序替换为基于libusb的驱动程序。替换完成后可以关闭Zadig工具。
要检查驱动程序替换是否成功,打开设备管理器界面,在顶层节点中会出现libusbK USB Devices。接下来就可以开始安装libftdi。
2. 安装libftdi
这一步将安装libftdi 的python库。下面与英文原文中略有不同,这里是在64位windows环境中安装。
在https://sourceforge.net/projects/picusb/files/下载libftdi1-1.4git_devkit_x86_x64_14June2018.zip并解压,看到目录结构如下:
将下列文件拷贝到python安装目录下的Lib\site_packages目录下。
在\libftdi1-1.4git_devkit_x86_x64_14June2018\bin64\Python3.6\Lib\site_packages目录下,还有两个文件,一并拷贝到python安装目录的Lib\site_packages目录下。
打开cmd命令串口,运行python,然后输入
import ftdi1
如果窗口没有任何提示,表示libftdi安装成功。
恭喜你,MPSSE模式下的驱动程序以及python库安装成功了!