使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样)

1、系统时钟设置

  RCC设置,勾选外部高速时钟源。
STM32CubeMx搭建LWIP程序
  系统时钟配置。写入外部晶振频率、HSE提供PLCCLK、HCLK,其他参数自动生成。
STM32CubeMx搭建LWIP程序

2、ETH设置

  勾选设置NVIC。
STM32CubeMx搭建LWIP程序
  根据硬件设置对应GPIO引脚。
STM32CubeMx搭建LWIP程序
  参数设置默认
STM32CubeMx搭建LWIP程序
  根据硬件设置PHY地址,其他参数默认。
STM32CubeMx搭建LWIP程序

3、LWIP设置

  勾选使能,通用参数设置,禁止自动模式,设置IP地址等。
STM32CubeMx搭建LWIP程序
  若使能自动配置模式时,可通过gnetif寄存器查看ip地址。
  C0H=192, A8H=168, 01H=1, 33H=51
  IP=192.168.1.51
STM32CubeMx搭建LWIP程序

4、PING测试

  while中加入处理函数MX_LWIP_Process()。
STM32CubeMx搭建LWIP程序
  Ping测试。
STM32CubeMx搭建LWIP程序
  若STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0。可能原因:
STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0

程序云下载,提取码njkf

相关文章: