熟悉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侧。修改相应管脚初始化