windows环境下用python控制ftdi芯片FT232H

通过搜索互联网资料,发现目前有两种流行的模块用于控制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并解压,看到目录结构如下:

windows环境下用python控制ftdi芯片FT232H_第1张图片

将下列文件拷贝到python安装目录下的Lib\site_packages目录下。

windows环境下用python控制ftdi芯片FT232H_第2张图片

在\libftdi1-1.4git_devkit_x86_x64_14June2018\bin64\Python3.6\Lib\site_packages目录下,还有两个文件,一并拷贝到python安装目录的Lib\site_packages目录下。

打开cmd命令串口,运行python,然后输入

import ftdi1

如果窗口没有任何提示,表示libftdi安装成功。

恭喜你,MPSSE模式下的驱动程序以及python库安装成功了!

 

 

 

 

你可能感兴趣的:(Python)