我通過串口將PIC與Raspberry PI連接起來。我的max485發送和接收使能引腳由gpio引腳控制。我收到的數據已成功打印。但它沒有執行所需的功能。無法識別串行接收數據
while True:
GPIO.output(repin, False)
port.flushInput()
time.sleep(.oo5)
port.write(bytes(address))
time.sleep(.01)
GPIO.output(repin, Ture)
port.flushInput()
data=port.readline()
if data:
address=address+1
if data == "ok" :
print "reached"
print data
if not data:
print "no data"
當我收到確定。它打印「確定」,但沒有打印「達到」。當數據未收到時,它將打印一個空白值而不是「無數據」。
也許有可能您收到的字符串包含終止CR,LF或NULL。試着專門比較前兩個字符。 –
您的代碼以「Ture」開頭。我想它應該是「而真」? –
當data = port.read(2)被使用時,它工作正常。但我需要使用readline()。我的數據可能是2或3字節長。@羅傑羅蘭德 – user007