我正在尝试在 UART 上连接一个 RS485 适配器,以便通过 Raspberry Pi 上的 modbus 进行通信。我的最终目标是让所有这些都与 Node 应用程序一起工作,但到目前为止,我的开发人员一直在使用 Python。
我的硬件连接看起来像:
[Modbus 设备] <===> [RS485 芯片 <==> Raspberry PI GPIO] 引脚。RS485 有三根线(发送、接收、方向),它们的连接方式如下
RaspiPi <=>适配器
GPIO 14 (8) - Tx <=> 数据+
GPIO 15 (10)- Rx <=>- 数据-
GPIO 18 (12) - 方向
RS485 不是典型的 9 针适配器。我的芯片上有三根电线。用作差分集和地线的双绞线。
通过手动翻转 GPIO18 进行发送/接收,我已经能够在此适配器和 USB-RS485 适配器之间发送串行通信。(代码如下)[1]。此代码纯粹用于证明适配器工作
我坚持让 modbus 在 GPIO 适配器上工作。我试过使用minimalmodbus,它与USB-RS485 适配器配合良好,但与GPIO 适配器配合使用时失败了。我怀疑这是因为没有设置方向销。
理想的解决方案是在 pi 上为 GPIO 找到一个 RS485 驱动程序,但除此之外,我看到了三个选项
1 - 制作我自己的驱动程序(我完全不熟悉的东西) 2 - 以某种方式获得一个 modbus 库来翻转内核空间中的 GPIO 引脚 3 …