如何解决我正在尝试通过Rs485从RasPi与arduino通信我在RasPi端使用Usb to Rs485转换器,在arduino端使用Max485芯片
我需要将RasPi连接到我现有的RS485网络,以便可以通过Internet访问所有网络。我知道这两种设备都可以发送信息,但是对方无法接收
我有一个带[USB到Rs485适配器] [1]的RasPi 4B。当您正在接收信息(RXD)和传输信息(TXD)时,此特定适配器有两个指示灯点亮。它们非常有用,因为有了它们,我知道信息是从RasPi发送出去的。
Arduino是Arduino Mega,并连接到[MAX485收发器] [2]。我已经在Arduino到Arduino网络中广泛使用了这些芯片,并且它们的功能非常出色。
接线已反复检查:
USB适配器:A至MAX485 A,B至MAX485 B,GND至Arduino GND
MAX485:VCC至Arduino 5v,GND至Arduino GND,RO至Arduino RX3,DI至Arduino TX3,DE / RE至Arduino引脚3。
在下面的代码中,我没有试图来回发送信息。我只想知道我是否在Arduino上收到了任何东西。
Python代码:
#!/usr/bin/env python3
import serial
rs = serial.Serial(
port="/dev/ttyUSB0",baudrate = 9600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,timeout=0,rtscts = True
)
if (rs.isOpen() == True):
rs.close()
rs.open()
rs.reset_input_buffer()
outstr = "5"
rs.write(outstr.encode(encoding = 'ascii'))
Arduino代码:
void setup() {
Serial3.begin(9600);
Serial.begin(9600);
pinMode(3,OUTPUT); //Set enable pin as Output
pinMode(3,LOW); //Allows MAX485 to recieve
Serial.println("Engaged.");
}
void loop() {
while(Serial3.available()){
Serial.println("We got somethin"); //Lets me know if I somehow got something
if(Serial3.available()){
byte data = Serial3.read();
Serial.println(data);
}
}
}
每个MAX485芯片和USB到RS485适配器都有多个,并且尝试过使用它们,以防设备内部损坏。没变化。
有什么想法吗? [1]:https://i.stack.imgur.com/iNBXZ.jpg [2]:https://i.stack.imgur.com/jOM8W.jpg
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。