RS485 Breackout和Arduino Uno rev.3

时间:2014-05-22 09:34:50

标签: arduino rs485

大家好我有这个奇怪的问题,我有两个场景,在第一个场景我有  能量计,我使用这个盾enter link description here,我可以从能量计读取数据。一切顺利。 在第二种情况下,我有一个能量计,我使用这个RS485屏蔽enter link description here,但我无法读取数据, 我不知道问题出在哪里 在第二种情况下,我有这样的配置:

rs485 brokenout - arduino uno rev. 3 3-5V - 5V RX-I - PIN0 TX-0 - PIN1 RTS - PIN2 GND - GND

我使用了RS485的A和B连接器的120欧姆电阻,但我不知道问题出在哪里, 你能救我吗?

最好的问候 甲

1 个答案:

答案 0 :(得分:0)

首先我相信你的schematic of RS485 Shield 显示

D0(RX  input)  <- RD(pin1 output)
D1(TX output)  -> DI(pin4 input)
D2(EN output)  -> DE(pin3 input)
set Jumper B-C -> RE(pin2 input) 

注意到我已经添加了信号的方向。

与您声明的Breakout RS485相对应

D0(RX   input) -> RX-I(DI pin 4 input)
D1(TX  output) <- TX-0(RO pin 1 output)
D2(RTS output) -> /RE & DE(pins 2 & 3 inputs)
       GND     -- GND

上述情况表明您在突破和屏蔽之间交换了TX和RX。

注意到UNO的D0是ATmega328P的UART的RX输入。我从上面看到,Shield正在将RD的输出正确地发送到ATmeg328p的D0(RX)输入。并且应该正常工作。您的Breakout似乎将RD的输出发送到ATmega328p的D1(TX)输出。