【问题标题】:Carriage return not detected in python in some cases在某些情况下,python 中未检测到回车
【发布时间】:2014-02-16 17:07:27
【问题描述】:

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

当传感器出现问题时输出 sn-p:

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

如您所见,这些行是连在一起的。是什么导致我的代码出现这种情况?

【问题讨论】:

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


    【解决方案1】:

    您没有在if 的情况下设置line = ""

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 2016-09-08
      • 1970-01-01
      相关资源
      最近更新 更多