码迷,mamicode.com
首页 > 数据库 > 详细

移植Modbus TCP一

时间:2021-04-22 16:31:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:地址   参考   xxx   选择   养成   修改   sdk   自己   工具   

熟悉Modbus RTU的各位猿友应该对Modbus TCP多多少少有些了解,我们在公众号里也多次介绍过,移植Modbus TCP,首先我们要移植一个TCP协议栈将Mobdus数据在上面传输,而Lwip是著名的开源TCP/IP网络协议栈,可以移植到微控制器上,可以裸机,也可以支持操作系统,已经被移植到很多的产品上,所以我们就选择lwip,,然后按照Modbus TCP标准添加Modbus协议栈就可以了,今天我们先来看看lwip如何移植到STM32H743xxx上,我们使用在freeRTOS下移植lwip,利用ST的固件库。

首先下载H7系列的包,并解压

技术图片

可以看到ST的SDK里面对lwip有很多的例程,有带RTOS的有不带的,我们以LwIP_UDPTCP_Echo_Server_Netconn_RTOS 为例来移植,这个工程是基于freeRTOS的,打开这个工程

技术图片

确定编译无误后,就可以动手移植了,首先要根据硬件原理图修改初始化部分,包括时钟,管脚,如果你的板子跟这个参考板很接近的话,那么移植起来很简单,看到原理图跟网络相关的硬件接口,可以对应到MCU侧。修改相应管脚初始化

技术图片

技术图片

技术图片

除了修改管脚初始化外,网络的中断优先级根据项目需要可做修改,除过修改代码的同时将注释也一并修改,养成良好的习惯,当然这些硬件上初始化的更改也可以通过ST的配置工具CubeMX直接更改重新生成工程然后编译。

根据自己的实际更改IP地址,可以支持DHCP,或者静态IP地址。

技术图片

我这里使用电脑和板子直接连接,使用默认IP地址,然后将电脑和板子的IP地址设到同一个网段。编译无误后,下载到板子,将电脑和板子连接起来,或者连入路由器,我这里采用直联,并将电脑设为192.168.0.15,打开网络调试助手,或者其他支持TCP的工具都可以

选择 TCP 客户端,输入板子IP地址 192.168.0.10 端口号7, 注意我们在下节移植modbus的时候,端口号要更改为Mdobus专用的。这里测试可以不用改。输入 1 2 3 4 5 6 7 8 9发送,可以看到板子收到后发回来的收据。

技术图片

好了,下次我们会基于这个工程添加Modbus TCP协议栈。

移植Modbus TCP一

标签:地址   参考   xxx   选择   养成   修改   sdk   自己   工具   

原文地址:https://www.cnblogs.com/laoxiongzhijia/p/14687824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!