在某些情况下,在python中未检测到回车符

时间:2014-02-16 17:07:27

标签: python python-2.7 serial-port carriage-return

在下面的代码中,我从串行输入中获取字符,当检测到回车符时,它将保存该值并覆盖行变量。问题在于,当触发错误时,有时会将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

正如您所看到的那些线条一起运行。在我的代码中导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

您未在line = ""案例中设置if

if line == "check probe":
    print "CHECK PROBE IF TRIGGERED."
    line = ""