【发布时间】:2012-06-01 08:15:26
【问题描述】:
我正在尝试通过向 1-wire 适配器发出 ascii 命令来读取 1-wire 设备的温度。问题是 ser.write('W0144') 需要回车,但由于某种原因代码没有发送它。命令 ser.read(32) 返回 A69000001CFD7E328 当它应该返回 44 时(来自 HA7E ascii 命令/手册。如果我在 Windows XP 超级终端中输入两个 ser.write 命令(不带 /r),它工作正常。
我已经参加了一周(是的,我是新手),我很难过。我尝试了不同的超时和 time.sleeps 但没有快乐。谁能给个建议?
import serial
import time
ser = serial.Serial(port = 'COM1', baudrate=9600, bytesize=8, parity=serial.PARITY_NONE, stopbits=1, timeout=0)
#show the port is open
print ser.isOpen()
ser.write('A69000001CFD7E328')
time.sleep(1)
ser.write('WO144/r')
ser.read(32)
ser.close()
【问题讨论】:
-
感谢您的回复。我的错误,我应该写 'W0144\r' 但修复后我仍然有问题。
标签: python