FreeModbus在STM32103上移植一直回复同一个数据

2019-07-21 08:23发布

本帖最后由 笨鸟想飞 于 2017-8-11 16:24 编辑

最近参考了 八度空间 的FreeModbus在STM32上移植  http://openedv.com/forum.php?mod=viewthread&tid=69081&extra=&highlight=modbus&page=4
进行在STM32103ZE(战舰版)移植,在八度哥的原版程序进行串口配置修改,移植后,用串口调试助手和Modbus Poll  上测试
发现一直回复同一个数据,
修改过从机地址后,回复的数据从机地址会改变并符合。
求有做过STM32103系列移植FreeModBUS的好心人,解答一下。
源码如下: V3.0裸机移植.rar (6.94 MB, 下载次数: 420) 2017-8-11 16:24 上传 点击文件名下载附件



以下为在Modbus Poll  上的测试测试结果
B0TPP8UCAH`QI)6AQ3[Y]~X.png

EC~%H`GCWO4~]XU2RJXQYJA.png

6NXIXYREABBPB1138XE]0TQ.png @八度空间
[img]file:///C:UsersAdministratorAppDataRoamingTencentUsers505017069QQWinTempRichOleB0TPP8UCAH`QI)6AQ3[Y]~X.png[/img]


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
笨鸟想飞
1楼-- · 2019-07-22 11:27
jiutianshenjian 发表于 2017-8-11 17:08
你能生成keil4的工程吗?打不开

FREE.rar (6.9 MB, 下载次数: 806) 2017-8-14 11:14 上传 点击文件名下载附件
k4
这个是KEIL 4工程文件
jiutianshenjian
2楼-- · 2019-07-22 14:02
 精彩回答 2  元偷偷看……
笨鸟想飞
3楼-- · 2019-07-22 18:49
jiutianshenjian 发表于 2017-8-14 15:02
你改Modbus Poll设置了没有,现在什么样子?

您好,首先感谢回答,这个问题我已经找到问题所在了,跟Modbus Poll设置没关系,是mbfuncinput.c这个文件没有按照八度哥去做的修改,同时因为串口中断那使用了 USART_IT_TXE,需要在mbrtu.c加一段代码。

其实,归根到底是我的freemodbus1.5库用的是官方的库,最终采用八度哥模版的port文件,修改一下串口配置就能完美运行了
jiutianshenjian
4楼-- · 2019-07-22 19:27
本帖最后由 jiutianshenjian 于 2017-8-14 15:49 编辑

我用你的也正常运行啊
就把起始地址你的0改为1.
#define REG_HOLDING_START                        (USHORT)1 //保持寄存器
#define REG_HOLDING_NREGS                        (USHORT)8  //保持寄存器个数

jiutianshenjian
5楼-- · 2019-07-22 22:52
你找到问题了就好。
八度空间
6楼-- · 2019-07-23 02:27
笨鸟想飞 发表于 2017-8-14 15:25
您好,首先感谢回答,这个问题我已经找到问题所在了,跟Modbus Poll设置没关系,是mbfuncinput ...

改为TC就可以了,具体可以看看ST的参考手册对这两个位的说明

一周热门 更多>