我正试图通过串口与我的mac(10.7.5)上的斯坦福研究系统SR760频谱分析仪交谈,使用串口转USB适配器连接到我的笔记本电脑。我正在使用Prolific USB串行驱动程序。不知道哪个,但我最近安装了它。它可能是PL2303。
使用Python,这里有一些示例代码
import time
import serial
# configure the serial connections (the parameters differs on the device you
# are connecting to)
ser = serial.Serial(
port='/dev/cu.PL2303-0000201A',
baudrate=19200,
parity=serial.PARITY_NONE,
bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE,
rtscts=0,
dsrdtr=0,
timeout=2,
)
if ser.isOpen():
ser.flushInput()
ser.flushOutput()
print """Enter your commands below.\r\nInsert "exit" to leave the
application."""
while 1:
# get keyboard input
input = raw_input(">> ")
if input == 'exit':
ser.close()
exit()
else:
ser.write(input + '\r')
out = ''
# let's wait one second before reading output (let's give device
# time to answer)
lines = 0
while 1:
time.sleep(1)
out = out + ser.readline()
lines = lines + 1
if lines > 5:
break
print "read data: " + out
使用SR760的手册,我发送它:* IDN ?,一个基本的"识别"命令。我期望在我的终端中弹出一些东西,什么都没有。它只是超时了。但是,如果我查看SR760上的发送队列,它将显示身份字符串,实际上会响应一堆不同的命令。我只是没有在我的电脑上得到任何东西,这就是问题所在。我知道它应该以这种方式工作,因为我的同事在他的电脑上编写了代码(Windows笔记本电脑)。
我怎么开始调试呢?我已经调整了超时,并确认sr760具有我期望的相同参数。