🏭 Modbus RTU

目标

使用 RS-485 接口实现 Modbus RTU 从机,响应主机的寄存器读写请求。

硬件准备

代码示例

#include "modbus.h"

/* 保持寄存器区 */
uint16_t holding_regs[10] = {0};

int main(void) {
    MB_Init(1, 115200);  /* 从机地址 1,波特率 115200 */

    while (1) {
        MB_Poll();  /* 轮询处理 Modbus 请求 */

        /* 更新寄存器数据(模拟传感器值)*/
        holding_regs[0] = read_temperature();
        holding_regs[1] = read_humidity();
    }
}

步骤说明

  1. 将 RS-485 模块连接到 Tide 的 UART3 引脚。
  2. 设置从机地址为 1,波特率 115200,N,8,1。
  3. 使用 Modbus Poll 软件发起读请求,功能码 0x03,寄存器 0。
  4. 验证返回的寄存器值是否正确。
提示: 遇到问题可查看 Q&A 页面,或在工蜂仓库提交 Issue。