硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 406|回复: 5
收起左侧

[技术讨论] 如何将Modbus RTU从站例程扩展为接收两个主站数据

[复制链接]

3

主题

3

回帖

12

积分

新手上路

积分
12
发表于 2026-7-30 17:42:48 | 显示全部楼层 |阅读模式
你好:
我最近在参考V5-021_Modbus RTU从站例程做一个从站程序,目的是想接收两个主站的数据,第一路是从rs485总线接收第一个主站数据。第二路是一对一接收第二个主站数据,所以没有设置控制引脚。请问一下使用V5-021_Modbus RTU从站例程这个例程,是不是需要再复制一个MODS_Poll函数,然后再增加一份相关参数,比如g_tModS结构体之类的,就可以了?


盼复为谢。

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
123924
QQ
发表于 2026-7-31 11:12:51 | 显示全部楼层
对,没问题。

文件就一个.C和一个.H,一份里面大部分函数多做成staic静态函数,限制作用域,再整理一份也是这样。

然后需要外部调用的全局变量和函数,换个名字即可。

最后注意里面有用到一个单次定时器超时判断,这个超时支持多个通道参数,你换个即可

点评

感谢硬汉哥回复。 我现在又改用《RTX5源码例程--FreeRTOS All In One(2024-08-30 V2.0)》了,因为我加了FreeRTOS。 主要修改了modbus_slave.c和.h文件、bsp_msg.c和.h文件,大多数都是将协议层函数增加了形参,好  详情 回复 发表于 2026-8-3 11:45
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2026-7-31 17:23:27 | 显示全部楼层
使用nanomodbus,可以单独创建多个modbus从机

点评

谢谢,才开始接触modbus,第一次听说nanomodbus,我去研究研究  详情 回复 发表于 2026-8-3 11:47
回复

使用道具 举报

9

主题

15

回帖

42

积分

新手上路

积分
42
发表于 2026-7-31 18:04:45 | 显示全部楼层
nanomodbus无依赖,接口无关,支持主站和从站
回复

使用道具 举报

3

主题

3

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2026-8-3 11:45:18 | 显示全部楼层
eric2013 发表于 2026-7-31 11:12
对,没问题。

文件就一个.C和一个.H,一份里面大部分函数多做成staic静态函数,限制作用域,再整理一份 ...

感谢硬汉哥回复。
我现在又改用《RTX5源码例程--FreeRTOS All In One(2024-08-30 V2.0)》了,因为我加了FreeRTOS。
主要修改了modbus_slave.c和.h文件、bsp_msg.c和.h文件,大多数都是将协议层函数增加了形参,好在后续调用时可以选择不同的串口对应的数据。
定时器例程用了4个,我就选了两个。然后又增加了一个消息量。
想问下硬哥,bsp_PutMsg(MSG_MODS_01H, 0);这个函数的作用是什么?我需要留着这个吗?
回复

使用道具 举报

3

主题

3

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2026-8-3 11:47:23 | 显示全部楼层
txwg5120154037 发表于 2026-7-31 17:23
使用nanomodbus,可以单独创建多个modbus从机

谢谢,才开始接触modbus,第一次听说nanomodbus,我去研究研究
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-8-28 18:18 , Processed in 0.855711 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表