我的问题很简单。我有一台大型旧机器,背面有一个 RS-485 连接,我有一个从 RS-485 到 9 针串行的转换器。
我要连接的设备会发出一个 ACK 信号以查看是否有任何连接。如何将我的 Arduino (Uno) 连接到 9 针串行连接器,以便我可以读取 ACK(以及将来写回)并在串行监视器中显示 ACK 信号?
我的问题很简单。我有一台大型旧机器,背面有一个 RS-485 连接,我有一个从 RS-485 到 9 针串行的转换器。
我要连接的设备会发出一个 ACK 信号以查看是否有任何连接。如何将我的 Arduino (Uno) 连接到 9 针串行连接器,以便我可以读取 ACK(以及将来写回)并在串行监视器中显示 ACK 信号?
我会首先检查来自 RS-485 转换器的数据线的电压。arduino 端口需要 0 到 5 伏。此外,查找 RS-485 的标准以确定 RS-485 线路上的内容。
注意,arduino 不直接实现 RS-232 端口。相反,它有一个用于连接 PC 的 USB 端口。我知道 RS-232 连接不使用TTL 或 0 到 5V 信号,并且会质疑 RS-485 产生的信号电平。
如果 RS-485 不产生 0 到 5 伏,那么您将需要一个 arduino RS-485 屏蔽。
最后,事实上,这就是你需要做的。我刚刚在“RS-485 Arduino”上搜索并找到了多个命中。
现在,这是个好消息,因为一旦您安装了 RS-485 屏蔽,然后您将屏蔽连接到 Arduino 上的引脚 1 和 2,您就有了串行连接!
在大多数情况下,您只需要连接 RX、TX 和接地信号(Arduino 的 RX 到 RS-232 的 TX,反之亦然)。但这真的取决于您的 RS-485 转换器,如果您需要任何额外的线路。如果这个转换器是半双工的,可能你还需要用 DTR 信号来控制它。然后您可以在 UNO 上使用任何数字 IO,并在软件中对其进行控制。另外你需要知道这台旧机器的串口速度,并相应地配置UNO串口。