作为主设备写入多个线圈和寄存器
文章目录
- 作为主设备写入多个线圈和寄存器
- 1、硬件准备与连接
- 1.1 RS485模块介绍
- 1.2 硬件配置与接线
- 1.3 软件准备
- 2、写入多个线圈
- 2.1 数据格式
- 2.2 发送数据
- 2.3 结果
- 3、写入多个寄存器
- 3.1 数据格式
- 3.2 发送数据
- 3.3 结果
本文将实现STM32作为ModBus主设备,将数据写入从设备的单个线圈和寄存器。
1、硬件准备与连接
1.1 RS485模块介绍
RS485通信方法中使用的信号电平通常为-7V至+12V。微控制器引脚通常不是为处理这些电平而设计的。这就是为什么这些信号需要转换为低电压的原因,例如±3V。该模块上有MAX485芯片,可以完成大部分转换工作。
RS485模块的引脚排列如下所示:
在模块的左侧,RO引脚连接到UART的RX引脚,DI引脚连接到TX引脚。
RE 和 DE 引脚负责将模块设置为接收器或发送器模式。
- 当 RE 引脚为低电平且 DE 引脚为低电平时,模块设置为接收器模式。
- 当 DE 引脚为高电平且 RE 引脚为高电平时,模块设置为发射器模式。
引脚 A 和引脚 B 是承载传输信号的输出引脚。
让我们举一个例子,我们向模块提供数据,0x95(10010101)。如果模块由 5V