移植Modbus TCP(一)

 熟悉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直接更改从新生成工程而后编译。spa

根据本身的实际更改IP地址,能够支持DHCP,或者静态IP地址操作系统

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

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

好了,下次咱们会基于这个工程添加Modbus TCP协议栈。欢迎继续关注。调试

本文分享自微信公众号 - 嵌入式程序猿(InterruptISR)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。blog

相关文章
相关标签/搜索