打印
[STM32F4]

STM32F407ZET7+ETH+LWIP移植freemodbus_TCP

[复制链接]
910|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
前言
        本次实验以 STM32F407ZET7 芯片为MCU,使用 8MHz 外部时钟源。以太网PHY层芯片为 LAN8720A,移植FreeModbus实现ModbusTCP网口通信,做客户端(从机)实现网口TCP-Modbus通信。

另:本人首次使用,也是结合网上多个大佬的经验做的,有不足的地方请大家指正,内容比较详细,对像我一样的新手比较友好,如果觉得过细可跳着看!!!

一、STM32Cubemx配置
1、选择STM32F407ZET7芯片创建工程,首先配置RCC、SYS和时钟,配置界面如下(根据自己情况配置就好)







使用特权

评论回复
沙发
突然下起雨|  楼主 | 2024-3-31 23:27 | 只看该作者
配置ETH,参数默认即可,配置界面如下(我的的引脚有调整,是根据实际电路调整的,大家根据自己情况调整即可)

使用特权

评论回复
板凳
突然下起雨|  楼主 | 2024-3-31 23:27 | 只看该作者
我配置了一个GPIO_Output作为复位引脚,(低电平复位、默认为高电平)

使用特权

评论回复
地板
突然下起雨|  楼主 | 2024-3-31 23:28 | 只看该作者
配LWIP,我使用的静态IP,配置界面如下

使用特权

评论回复
5
突然下起雨|  楼主 | 2024-3-31 23:29 | 只看该作者
选LAN8742就可以

使用特权

评论回复
6
突然下起雨|  楼主 | 2024-3-31 23:29 | 只看该作者
配置串口,有需要的话方便看数据,配置界面如下

使用特权

评论回复
7
突然下起雨|  楼主 | 2024-3-31 23:29 | 只看该作者
到此CubeMX就配置完成可以生成代码了(根据自己用的软件改一下设置即可)

使用特权

评论回复
8
突然下起雨|  楼主 | 2024-3-31 23:30 | 只看该作者
修改程序、移植FreeModbus源码
1、先复位一下芯片(不写也没啥问题)


使用特权

评论回复
9
突然下起雨|  楼主 | 2024-3-31 23:30 | 只看该作者
到目前为止,已经初始化完成了,在cmd中可以ping通!!!!!!

使用特权

评论回复
10
突然下起雨|  楼主 | 2024-3-31 23:30 | 只看该作者
设备IP为:192.168.1.10 电脑IP为:192.168.1.200 子网掩码:255.255.255.0 默认网关:192.168.1.1 注意:复位引脚我默认放在了低电平(一直复位状态),根据自己需要将复位引脚电平拉高或者配置一下Cubemx默认放在高电平即可)

使用特权

评论回复
11
突然下起雨|  楼主 | 2024-3-31 23:31 | 只看该作者
FreeModbus源码下载

下载链接放在下面了,自己下载就可以了!
FreeModbus源码下载链接
icon-default.png?t=N7T8https://www.embedded-experts.at/en/freemodbus-downloads/

使用特权

评论回复
12
突然下起雨|  楼主 | 2024-3-31 23:31 | 只看该作者
移植FreeModbus源码
①在工程文件目录下新建一个 FreeModbus_TCP 文件夹,将需要的文件都移植到该文件夹下
②打开 freemodbus-v1.6 文件夹,点击 modbus 文件夹,将modbus 文件夹中的全部文件移植到新建的 FreeModbus_TCP 文件夹中

使用特权

评论回复
13
突然下起雨|  楼主 | 2024-3-31 23:32 | 只看该作者
将freemodbus-v1.6\demo\STR71XTCP中的 port 文件,移植到新建的 FreeModbus_TCP 文件夹中

新建的 FreeModbus_TCP 文件夹内容移植最终结果如下:下面的两个文件目前还没有!!

使用特权

评论回复
14
突然下起雨|  楼主 | 2024-3-31 23:32 | 只看该作者

使用特权

评论回复
15
突然下起雨|  楼主 | 2024-3-31 23:32 | 只看该作者
导入到工程中
将FreeModbus_TCP 文件夹中的文件导入

选择FreeModbus_TCP 文件夹中的mb.c文件

选择FreeModbus_TCP 文件夹中的 functions 文件夹、 port 文件夹、tcp 文件夹的全部.c文件

结果如下图所示(目前最后一个文件还没有!)


使用特权

评论回复
16
突然下起雨|  楼主 | 2024-3-31 23:32 | 只看该作者
点击魔法棒,选择 C/C++,添加文件路径

使用特权

评论回复
17
突然下起雨|  楼主 | 2024-3-31 23:32 | 只看该作者

使用特权

评论回复
18
突然下起雨|  楼主 | 2024-3-31 23:33 | 只看该作者
编辑程序

使用特权

评论回复
19
突然下起雨|  楼主 | 2024-3-31 23:33 | 只看该作者

使用特权

评论回复
20
突然下起雨|  楼主 | 2024-3-31 23:33 | 只看该作者
找不到这个文件在哪的可以在mb.c的头文件中跳转打开!!后面找不到的也一样!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

207

帖子

1

粉丝