我有一个 FT232RL 芯片。我将它用于 USB 到 RS232 协议的转换,我需要转换数据并进一步使用它。
无法配置我正在使用的“数据集”(另一侧的设备,如调制解调器,在我的情况下为 MAX485 IC )。我只能给它一个读取或写入的控制信号。所以它不是很有用。
我的应用程序要求我能够在发送数据时将其设置为“写入模式”,然后在完成发送后,我需要能够将其设置为“读取模式”以接收它生成的响应信号.
注意:控制信号是简单的 HIGH 或 LOW 数据可以是几个字节
我认为做到这一点的一种方法是能够读取 RS232 传输缓冲区中有多少数据。一旦变为“0”,所有数据都将被传输,我可以将控制引脚设置为“读取模式”
另一种方法是使用 FLOW CONTROL
为了清楚起见,我想在陈述我的问题之前解释我对流量控制的理解:
(1) 我通过 Python 将数据通过 USB 发送到 ftdi
(2) ftdi 需要在 DTR 线上写一个 HIGH
(3) 在 DSR 线上接收到 HIGH,它需要开始传输(这是假设我禁用了 rts/cts 流控制设置)
(4) 发送完成后,需要在 DTR 线标记发送端写一个 LOW
问题是我无法让 DTR 线按预期打开和关闭步骤 (2) 没有发生
import serial
ser = serial.Serial("com1") # initialised port as ser
ser.dsrdtr = True # set dsrdtr mode
ser.write("blah blah") # sent a command
我什至尝试了以下方法:
ser.setDTR(True) # write a HIGH on DTR
ser.setDTR(False) # write a LOW on DTR
这仍然不能解决我的完整问题。
请指教
编辑:我需要提一下,我正在使用的 FT232RL 位于 nex-robotics 的分线板上,我可以访问的引脚是:3.3V、5V、CD、RXD、TXD、DTR、GND、DSR、RTS、 CTS 和 RI,当然还有一个用于将其连接到我的笔记本电脑的 USB 端口
EDIT2:我可以使用 Mprog 3.5 或类似的软件来刷新可以支持我想做的 EEPROM 吗?如果是,如何?