FT232RL上的流量控制

时间:2015-08-15 12:12:56

标签: python serial-port pyserial ftdi flow-control

我有一个FT232RL芯片。我正在使用它进行usb到RS232协议转换,我需要转换数据并进一步使用它。

我正在使用的“数据集”(另一侧的设备,如调制解调器,,在我的情况下是MAX485 IC )无法配置。我只能给它一个控制信号来读或写。所以它不是很有用。

我的应用程序要求我能够在发送数据时将其设置为“写入模式”,然后在我完成发送时,我需要能够将其设置为“读取模式”以接收响应发出信号。

注意:控制信号是简单的HIGH或LOW 数据可以是几个字节

我认为一种方法是能够读取RS232发送缓冲区中有多少数据。一旦变为“0”,所有数据都将被传输,我可以将控制引脚设置为“读取模式”

另一种方法是使用FLOW CONTROL

我希望在明确说明问题之前解释我对流量控制的理解:

(1)我通过Python将数据通过usb发送到ftdi

(2)ftdi需要在DTR线上写一个HIGH

(3)在DSR线路上接收到高电平时,它需要开始发送(假设我已禁用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,它可以支持我想做的事情吗?如果是,怎么样?

0 个答案:

没有答案