串行接收的数据无法识别
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 双绞线电缆接地的正确终端电阻上,具有适当的电阻。
我正在通过串行端口将 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 双绞线电缆接地的正确终端电阻上,具有适当的电阻。