FTDI 获取调制解调器状态值(DSR、DCD、CTS)

FTDI Get modem status values (DSR, DCD, CTS)

我正在做一个项目,我希望能够通过其中一个调制解调器引脚(DSR、DCD、CTS)将简单的 on/off 信号发送回 PC,与标准串行通信。

使用标准 VPC 串行驱动程序连接到设备时,我无法访问这些内容。

示例 Python 使用 pySerial:

import serial

def main(argv):
  watchPort(sys.argv[1])

def watchPort(portName):
    ser = serial.Serial(portName)

    while True:
        print("DCD {0}, DSR {1}, CTS {2}".format(ser.cd, ser.dsr, ser.cts))
        time.sleep(0.5)

if __name__ == "__main__":
     main()

无论引脚连接为高电平还是低电平,这些值始终相同。我还测试了几个终端程序来验证(CoolTerm、SerialTerm)。

,但是,能够通过 D2XX 驱动程序和相关 API 获取这些值,但我宁愿使用更简单的串行设备方法,如果可能的。这不可能吗?

为什么?

我正在建立一个多点 RS485 网络,并计划将这些线路之一用作公共信号线,可用于向 "ready"、"error" 发出信号并防止通信碰撞。

原来问题出在 OS X 附带的 FTDI 驱动程序上。()更新到最新的 VPC 驱动程序修复了它。