我用Python寫一個程序,它是這樣工作的X秒:超時在Python
- 採取措施,通過串口輸入字符串,當按回車鍵(回車 返回)
- 檢查
$
標誌存在作爲輸入的字符串的第一個字符,然後繼續
問題
如果我沒有得到Carriage Return CR
並且在同一時間或特定的時間間隔後得到另一個字符串,可能會產生麻煩。 爲了避免這個問題,我想添加超時會話,如果回車沒有收到,那麼在特定的時間間隔之後,使之前的緩衝區Null
。
請仔細閱讀下面的代碼,並指導我如何在其中添加超時選項?
CODE
import serial
x = [0,0,0]
ser = serial.Serial('/dev/ttyAMA0', 9600)
buffer = ''
while True:
buffer += ser.read(ser.inWaiting())
if '\n' in buffer:
if buffer[0] == '$':
x1 = buffer.rstrip()
x2= x1.split(",")
print((x2[0]),(x2[1]),(x2[2]))
buffer = ""
我在你上面的編碼問題,它有力地60秒後做會話超時.. 但我希望60秒後會話超時,如果它沒有收到回車 –