手把手教你,通过HAL库实现MODBUS从机程序编写与调试(三)---MODBUS SLAVE程序移植

目录

1、STM32CubeMX操作

2、程序完善 

3、MODBUS SLAVE程序的移植

 3.1程序下载和复制

 3.2程序添加,编译

3.3接口替换

3.4修改main.c主函数

4、MODBUS调试

5. 总结 


1、STM32CubeMX操作

手把手教你,通过HAL库实现MODBUS从机程序编写与调试(一)-----STM32CubeMX操作篇_tangxianyu的博客-CSDN博客

2、程序完善 

手把手教你,通过HAL库实现MODBUS从机程序编写与调试(二)-串口及定时函数的完善_tangxianyu的博客-CSDN博客

3、MODBUS SLAVE程序的移植

 3.1程序下载和复制

https://download.csdn.net/download/tangxianyu/37014694地址下载modbus-slave(RTU)程序,解压后分别将已经编写好的modbus.c和modbus.h分别复制到Src和Inc文件夹内

 

 3.2程序添加,编译

将modbus.c文件加入到工程当中,具体步骤如下图所示,不赘述。

 添加完成之后点击编译,此时会发现有很多错误,不用理会错误。我们可以发现modbus.h也同样显示出来了。 

3.3接口替换

打开modbus.c文件,将修改顶部的宏定义:如果用到的串口是UART4那么宏定义文件可以不变,如果不是将串口改成相应的接口就可以。

#include "Modbus.h"
#include "string.h"

#define MODBUS_UART uart4			//将串口改成相应的变量即可,例如用到UART1,此处改为uart1
#define MODBUS_HUART huart4			//将串口改成相应的变量即可,例如用到UART1,此处改为huart1

3.4修改main.c主函数

在头文件内加入modbus.h

 将之前的死循环内的函数修改:

 至此,MODBUS-SLAVE函数修改完成。下一步是调试。

4、MODBUS调试

这里用到的modbus调试工具为Modbus Poll,在CSDN中很容易搜索到,这里我就不放链接地址了。

打开 modbus Poll软件 -->Connection, 在弹出的对话框Connection Setup进行波特率等设置,设置好之后点击OK.

通讯数据如下:

通讯数据应该为0XAA55和0X55AA,此处显示的十进制数,需要进行转换一下。将Signed的数据类型,转换成Hex,则显示数据与我们的预期一致。

5. 总结 

 本文主要通过STM32CUBE MX实现STM32F103ZET6的MODBUS-SLAVE的程序设计。希望有一定意义。由于本文在撰写过程中难免会有疏漏或者错误。望读者不吝指出。

  • 11
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值