一.基础介绍二.cubemx配置过程参考STM32F407单片机编程入门(二十七)以太网接口(LAN8720)详解及实战含源码-CSDN博客1.基础配置配置外部晶振外部晶振 焊在开发板 PCB 上、独立的小金属元件给单片机提供精准稳定的标准时钟信号下载口引脚2.配置以太网接口ETA_RMIIRMII Reduced Media Independent Interface精简媒体独立接口定义了 MCUSTM32和 PHY 芯片LAN8720之间传输网络数据的引脚规则、时序标准相当于两者通信的 “硬件协议”。设置中断模式注意引脚名称和类型都要和原理图对上配置对应的复位引脚PH67.133.1无FreeRTOSCubeMX配置STM32VET6实现网口通信无操作系统版-附源码-易微帮增加复位引脚添加语句把PHY_Address改为0x003.使能FreeRTOS4.LWIP配置IP地址掩码网关配置IP ADDRESS要和电脑再同一网关下如何查看填写IP_ADDRESS192.168.1.111192.168.43.xxxNETMASK_ADDRESS255.255.255.0GATEWAY_ADDRESS192.168.1.15.时钟配置配置系统主频168Mhz,使用外部晶振6.保存文件生成代码却出现警告修改SYS修改LWIP该配置发不出东西会说发送超时之类的三.7.13 成功参考网站【STM32】HAL库-以太网外设-LAN8720A-LWIP-无操作系统_stm32 lan8720-CSDN博客1.cubeMX配置①平常配置②配置GPIO配置复位引脚配置小灯引脚③ETH注意引脚要和原理图对应文中没有设置这一块这个可能不需要设置④LWIPIP ADDRESS要和电脑再同一网关下如何查看填写IP_ADDRESS192.168.1.111192.168.43.xxxNETMASK_ADDRESS255.255.255.0GATEWAY_ADDRESS192.168.1.1⑤代码Keil工程配置在main.c中配置复位引脚/* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(ETC_RESET_GPIO_Port,ETC_RESET_Pin,GPIO_PIN_RESET); HAL_Delay(60); HAL_GPIO_WritePin(ETC_RESET_GPIO_Port,ETC_RESET_Pin,GPIO_PIN_SET); HAL_Delay(60); MX_LWIP_Init(); /* USER CODE END 2 */主循环中让小灯闪烁可以知道程序到底运行到这里没MX_LWIP_Process(); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_2,GPIO_PIN_RESET); HAL_Delay(50); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_2,GPIO_PIN_SET); HAL_Delay(50);这个写不写都能接收到数据原文写了置位 PHY 的 BCR 寄存器 自动协商位pObj-IO.WriteReg(pObj-DevAddr,LAN8742_BCR,LAN8742_BCR_AUTONEGO_EN);⑥成功现象第一部分添加了“置位 PHY 的 BCR 寄存器 自动协商位”代码第二部分注释了这一部分好像对时间有影响等小灯闪烁了再ping用ping 192.168.1.111windos默认只发4个用ping -t 192.168.1.111就可以不停发包四.7.13发送/接收数据