仅当终端应用程序在后台打开时,使用 pyserial 从串口读取才有效
Reading from serial port with pyserial only works if terminal app is open in background
我正在使用 pyserial 通过基于 FTDI 的 usb-to-rs232 适配器(使用 Mac OS X 内置驱动程序)与我的万用表 (Keithley2000) 通信。
在开始使用 Pyserial 之前,我通过使用终端应用程序 (Serial.app) 与万用表通信来验证硬件和驱动程序是否正常工作。
这很好用。
但是如果我用下面的简单程序尝试同样的事情,它就不起作用了。
写入工作正常(例如,我可以重置仪器),但我无法读取任何内容。
import serial
import io
port = serial.Serial("/dev/cu.usbserial-FT8VXG35", 9600, timeout=1)
port.write("*idn?\r")
print(port.readline())
奇怪的部分来了。如果我让 Serial.app 在 den 后台打开,该程序实际上可以运行。
有人知道这种行为的原因吗?
这是我在 Serial.app
中的设置
某些外围设备需要将流量控制线(RTC/CTS、DSR/DTR)设置为特定级别 - 也许 serial.app 运行 背景会按照您的方式设置这些线需要万用表吗?
我正在使用 pyserial 通过基于 FTDI 的 usb-to-rs232 适配器(使用 Mac OS X 内置驱动程序)与我的万用表 (Keithley2000) 通信。
在开始使用 Pyserial 之前,我通过使用终端应用程序 (Serial.app) 与万用表通信来验证硬件和驱动程序是否正常工作。 这很好用。
但是如果我用下面的简单程序尝试同样的事情,它就不起作用了。 写入工作正常(例如,我可以重置仪器),但我无法读取任何内容。
import serial
import io
port = serial.Serial("/dev/cu.usbserial-FT8VXG35", 9600, timeout=1)
port.write("*idn?\r")
print(port.readline())
奇怪的部分来了。如果我让 Serial.app 在 den 后台打开,该程序实际上可以运行。
有人知道这种行为的原因吗?
这是我在 Serial.app
中的设置某些外围设备需要将流量控制线(RTC/CTS、DSR/DTR)设置为特定级别 - 也许 serial.app 运行 背景会按照您的方式设置这些线需要万用表吗?