我通过串口连接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时。它打印“确定”但它没有打印“到达”。当没有收到数据时,它会打印一个空白值而不是“无数据”。
答案 0 :(得分:1)
在UART_Write
微控制器端检查PIC
方法。您是否将\r
或\n
与ok
一起发送?您可以在PIC
使用调试器并在监视窗口中监控PIC
UART写入寄存器来澄清这一点,即 TXREG
答案 1 :(得分:1)
您的代码没有任何问题。如果您正确编写PIC程序,则问题来自于具有适当电阻的max485.connect双绞线电缆接地的正确终端电阻。