0

大家好,我有这个奇怪的问题,我有两种情况,在第一种情况下,我有一个能量计,我使用这个盾牌在此处输入链接描述,我可以从能量计中读取数据。一切正常。在第二种情况下,我有一个电能表,我使用这个 RS485 屏蔽在此处输入链接描述,但我无法读取数据,我不知道在第二种情况下问题出在哪里,我有这个配置:

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

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

最好的问候 A。

4

1 回答 1

0

首先,我相信你的 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) 输出。

于 2014-05-22T14:36:44.083 回答