🏭 Modbus RTU
目标
使用 RS-485 接口实现 Modbus RTU 从机,响应主机的寄存器读写请求。
硬件准备
- Tide 开发板 × 1
- RS-485 收发器模块 × 1
- Modbus 主机设备或调试软件
代码示例
#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();
}
}
步骤说明
- 将 RS-485 模块连接到 Tide 的 UART3 引脚。
- 设置从机地址为 1,波特率 115200,N,8,1。
- 使用 Modbus Poll 软件发起读请求,功能码 0x03,寄存器 0。
- 验证返回的寄存器值是否正确。
提示:
遇到问题可查看 Q&A 页面,或在工蜂仓库提交 Issue。