FreeModbus移植参考链接
原文参看原培栋Modbus总结
一、新建工程
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#define LED_R_PIN GET_PIN(C, 3)
int main(void)
{
rt_pin_mode(LED_R_PIN, PIN_MODE_OUTPUT);
while (1)
{
LOG_D("FC123456Jsdfghjkl!");
rt_thread_mdelay(1000);
rt_pin_write(LED_R_PIN, !rt_pin_read(LED_R_PIN));
}
return RT_EOK;
}
二、修改时钟
把时钟修改为你板子所使用的时钟
==注意事项:==rtt使用Cubemx生成文件时出现stm32f4xx_hal_conf.h: No such file or directory提示
==解决办法:==STM32CubeMX生成工程的时候,不能包含中文路径和特殊符号路径(全英文并且没有符号),否则就会出现上述的情况
三、连接硬件
本笔记采用uart2作为通信端口485方式连接,如果采用485通信需要配置控制控制引脚
四、添加软件包
五、主机配置
5.1、主机软件包配置
5.2、串口配置
5.3、确认通信信息
六、测试
运行主机程序
打开PC的Modbus Slave测试软件
6.1、点击Setup
6.2、点击Connection
6.3、测试结果
七、从机配置
参看此文档主机配置操作。之后进行以下操作。
7.1、软件包从机配置
7.2、测试结果
运行从机程序
打开Modbus Poll
主机显示结果
[外链图片转存中…(img-kdAx7UH2-1635833771890)]
[外链图片转存中…(img-hqBtBqqK-1635833771893)]
主机显示结果