使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样)
1、系统时钟设置
RCC设置,勾选外部高速时钟源。
系统时钟配置。写入外部晶振频率、HSE提供PLCCLK、HCLK,其他参数自动生成。
2、ETH设置
勾选设置NVIC。
根据硬件设置对应GPIO引脚。
参数设置默认
根据硬件设置PHY地址,其他参数默认。
3、LWIP设置
勾选使能,通用参数设置,禁止自动模式,设置IP地址等。
若使能自动配置模式时,可通过gnetif寄存器查看ip地址。
C0H=192, A8H=168, 01H=1, 33H=51
IP=192.168.1.51
4、PING测试
while中加入处理函数MX_LWIP_Process()。
Ping测试。
若STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0。可能原因:
STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0