2014-02-16 31 views
0

在下面的代碼中,我從串行輸入中獲取字符,並且在檢測到回車符時它將保存該值並覆蓋行變量。問題在於,當觸發錯誤時,有時會將兩行添加在一起,就像沒有回車符一樣。在某些情況下在python中檢測不到回車符

串行輸出看起來很好,回車在目前的位置。

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

您並未在if案件中設置line = ""

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

啊,這樣一個愚蠢的錯誤......謝謝! – DominicM

相關問題