最近在用HAL库做LWIP协议栈中的TCP协议的通讯,开始使用的是STM32F429单片机,移植方法比较简单使用CubeMX直接生成即可。后续因为项目原因更换了MCU型号,更换成了STM32H563单片机,CubeMX目前还不支持直接生成该型号的LWIP协议栈,但是可以先配置ETH后续手动移植LWIP协议栈。
PHY芯片型号: LAN8720A
目录
一、STM32F429通过CubeMX 移植LWIP
CubeMX创建STM32F429工程步骤省略......
首先根据自己的需求配置:调试器接口以及时钟
使能ETH(选择的RMII模式)
ETH引脚配置 :
复位引脚设置(当硬件连接了LAN8720A的NRST引脚配置):
这里我使用的是固定IP(设置的IP要和自己IP为同一网段),并开启了TCP通讯(开启ICMP 不然pin不通)
芯片型号选择:
LWIP配置选项:
下面选项根据自己需求自行配置
设置时钟
生成程序
程序代码
下载进开发板。开发板网口与电脑网口通过网线直连,设置电脑本地网卡在同一网段。就可以ping通了
ping通后就可以实现通讯协议通讯了
二、STM32H563通过CubeMX 移植LWIP
stm32h5 由于目前(2024.7.14)CubeMX还没有适配LWIP协议 所以中间件及驱动程序等需要在官网中手动移植 。ETH接口可以在CubeMX中配置。