我通过串口将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