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 驱动程序修复了它。
我正在做一个项目,我希望能够通过其中一个调制解调器引脚(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 驱动程序上。(