带有 Python ftd2xx 模块的 UART 模式

UART mode with Python ftd2xx module

我想在配备 FTD2232H 芯片的 FPGA 和 PC 之间建立 UART 通信,为此,我使用 Python ftd2xx 模块。不知道如何使用本模块的setBitMode函数将模式调整为UART

我写了下面的示例代码:

import ftd2xx as ftd

device = ftd.open(0)
device.setBaudRate(9600)
device.setBitMode(mask, enable)
device.write("01010101")
device.close()

为了进行 UART 通信,应如何选择参数屏蔽和启用?

由于 ftd2xx 只是 FTDI 的 D2XX DLL 的包装器,您应该查阅相关文档。

FT2232H 的默认模式取决于 EEPROM 是否存在以及存储的设置。如果没有 EEPROM,则默认为 UART。否则存储在 EEPROM 中的设置决定了模式。它可以是 UART 或任何其他允许的模式。您可以使用 FT_PROG.

更改设置

如果FT2232H处于UART模式,则无需通过D2XX进行任何更改。实际上,在那种情况下,如果加载了虚拟 Com 端口 (VCP),则设备可以简单地作为 com 端口打开。在这种情况下,py_serial 模块是打开设备的简单解决方案。

如果你真的想(或需要)使用ftd2xx模块(注:项目页面声明“我没有时间维护这个项目,所以我正在寻找维护者。”),你可以在《D2XX 程序员指南》(文档编号:FT_000071)中找到相应的说明。但是,您只能使用 D2XX 驱动程序进入特定模式。如果您输入其中之一(例如,短时间使用替代协议),您可以使用 mode = 0x0 发出重置,以将设备状态恢复为 EEPROM 配置模式。但这是一个非常具体的用例,很可能不适用于此处。