在下面的代码中,我从串行输入中获取字符,当检测到回车符时,它将保存该值并覆盖行变量。问题在于,当触发错误时,有时会将2行添加到一起,就好像没有回车符一样。
串行输出似乎很好,回车符存在预期的位置。
line = ""
while True:
data = self.ser.read()
if(data == "\r"):
print line
if line == "check probe":
print "CHECK PROBE IF TRIGGERED."
else:
# save line value to a different variable here.
print "VALID VALUE ELSE TRIGGERED."
line = ""
else:
line += data
传感器出现问题时的输出摘录:
CHECK PROBE IF TRIGGERED.
check probecheck probe
VALID VALUE ELSE TRIGGERED.
check probe
CHECK PROBE IF TRIGGERED.
check probe7.00
VALID VALUE ELSE TRIGGERED.
7.20
正如您所看到的那些线条一起运行。在我的代码中导致这种情况的原因是什么?
答案 0 :(得分:1)
您未在line = ""
案例中设置if
。
if line == "check probe":
print "CHECK PROBE IF TRIGGERED."
line = ""