串行接收的数据无法识别

Serial received data not recognised

我正在通过串行端口将 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"

当我收到 OK 时。它打印 "ok" 但没有打印 "reached"。当未收到数据时,它会打印一个空白值而不是 "no data"。

PIC 微控制器端检查您的 UART_Write 方法。您是否在发送 \r\n 的同时额外发送 ok ?您可以通过在 PIC 处使用调试器并监视手表 window 中的 PIC UART 写入寄存器来澄清,即 TXREG

您的代码没有任何问题。如果您正确编写了 PIC 程序,那么问题出在 max485.connect 双绞线电缆接地的正确终端电阻上,具有适当的电阻。