Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机

有些项目需要同时既做主机读取传感从机器的数据,然后再做从机整合数据与上层主控单元进行通讯,这时候就需要程序中即存在主机,又存在从机。这里就做下测试,主机用串口2,从机用串口3,分别与对应的上位机通讯,便可以进行仿真通讯验证。

一、RT-Thread Studio添加freemodbus主机和从机

1、配置RT-Thread Settings

添加modbus软件包后,然后保存配置如下
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第1张图片
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第2张图片

2.开启board.h宏定义

Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第3张图片

3.根据需求配置modbus通讯参数

(1)modbus主机部分的初始化

Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第4张图片
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第5张图片

(2)modbus从机部分的初始化

Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第6张图片
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第7张图片

4.验证

modbus主机用于uart2,与上位机从机相连接,19200,8N1;
modbus从机用于uart3,与上位机主机相连接,19200,8N1;
打印使用uart1,115200,8N1。

(1)modbus主机验证

前几个寄存器由主机写入从机,然后主机再读回来,程序中打印过程中加了延时,会存在延时显示的情况,但验证后主机写指令、读指令成功;然后从机手动改了后面3个寄存器,主机也读到了数据,也验证读成功。
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第8张图片

(2)modbus从机验证

666、777是程序中给这两个寄存器初始化赋值的数据,然后被主机读取成功;888、999是上位机主机手动写上的数据,然后从机程序接收到数据通过串口1打印了出来。
Rtthread学习笔记(十八)RT-Thread Studio添加freemodbus主机和从机_第9张图片
串口2使用主机,串口3使用从机,通讯成功。

你可能感兴趣的:(RT-Thread,stm32)