【HAL库】STM32CubeMX开发----STM32F407----ETH+LAN8720A+LWIP----ping通

news/2025/1/7 11:01:30/

STM32CubeMX 下载和安装 详细教程
【HAL库】STM32CubeMX开发----STM32F407----目录

LAN8720A数据手册(中文+英文)----点击下载
STM32F407-ETH+LAN8720A+LWIP-无操作系统-ping通----程序源码-点击下载


前言

本次实验以 STM32F407VET6 芯片为MCU,使用 25MHz 外部时钟源。
以太网PHY层芯片为 LAN8720A,由MCU引脚 PA8 提供时钟。
LAN8720A引脚MCU引脚 连接关系如下:

LAN8720A引脚MCU引脚
ETH_MDIOPA2
ETH_MDCPC1
ETH_TX_ENPB11
ETH_TXD0PB12
ETH_TXD1PB13
ETH_RXD0PC4
ETH_RXD1PC5
ETH_CRS_DVPA7
ETH_REF_CLKPA1
ETH_RESETPC0
ETH_CLKPA8

一、使用STM32CubeMX----新建工程

步骤1:打开 STM32CubeMX 软件

具体 STM32CubeMX 界面如下:

在这里插入图片描述

步骤2:选择 从MCU开始我的项目

在这里插入图片描述

步骤3:选择MCU芯片

我们本次实验选择 STM32F407VET6 芯片做 MCU

在这里插入图片描述

进入工程编辑,具体界面如下:

在这里插入图片描述

步骤4:设置烧写方式为 SWD模式

这一步必须选择一种烧写方式,否则烧写一次程序后,芯片中就没法再次烧写程序了。需要硬件重启才可以重新烧写程序。

STM32烧写程序连接方式详解

在这里插入图片描述

步骤5:设置时钟源

设置外部晶振为芯片系统时钟源。

在这里插入图片描述

配置输出时钟引脚 PA8,给 LAN8720A以太网芯片提供时钟。

在这里插入图片描述

步骤6:设置时钟

STM32F407 时钟最大频率为 168MHz,所以设置系统失踪SYSCLK = 168MHz。
设置 MCO1 输出时钟为 25MHz。
在这里插入图片描述

步骤7:以太网配置

1. ETH配置

在这里插入图片描述

勾选接收中断

在这里插入图片描述

2. LWIP配置

在这里插入图片描述
选择手动配置IP

IP地址192.168.001.112
IP掩码255.255.255.000
IP网关192.168.001.001

在这里插入图片描述

关闭UDP通信模式

在这里插入图片描述

3. 复位引脚配置

鼠标左键点击 PC0 引脚,选择 GPIO_Output 模式。

在这里插入图片描述

鼠标右键点击 PC0 引脚,点击 Enter User Label,输入用户标签。

在这里插入图片描述
结果如下:
在这里插入图片描述

步骤8:项目编辑

在这里插入图片描述

步骤9:代码生成编辑

在这里插入图片描述

步骤10:点击 GENERATE CODE 生成代码

在这里插入图片描述

新建的工程,已经生成,接下来就是对工程代码的编辑。

二、使用keil5----编辑程序

想要使用keil5打开工程,需要电脑先安装 keil5编译环境,具体操作流程。
可以点击下方文章链接:Keil5编译环境搭建流程

步骤1:勾选 Use MicroLIB 库

在这里插入图片描述

步骤2:在main函数循环中添加 MX_LWIP_Process() 函数

在这里插入图片描述

步骤3:添加复位使能代码

连接 以太网LAN8720A 芯片 复位引脚 PC0 拉低拉高一下

HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);
HAL_Delay(50);
HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);

添加到 void HAL_ETH_MspInit(ETH_HandleTypeDef* ethHandle) 函数中

在这里插入图片描述

编译一下,没有问题就可以烧写到开发板。

三、配置电脑的以太网

配置电脑的以太网为 手动分配ip

在这里插入图片描述

Win+R 输入 cmd ,然后回车

在这里插入图片描述

输入 ping开发板的IP: ping 192.168.1.112,然后回车
以下现象说明 ping 通了
在这里插入图片描述
如果无法ping通,可以试着关闭电脑的防火墙。


STM32F407-ETH+LAN8720A+LWIP-无操作系统-ping通----程序源码-点击下载


http://www.ppmy.cn/news/836.html

相关文章

在linux系统上看全世界新闻 -- Clinews的使用详解

一. Clinews介绍 Clinews 和 InstantNews 类似,都是 Linux 命令行下的新闻客户端,安装及配置 Clinews 后就可以在 Linux 命令行下阅读新闻及头条新闻了, 当然还有博客新闻,不需要安装 GUI 应用或移动应用,轻松在 Linu…

STM32实战总结:HAL之IAP

我们学习单片机一般都是从51开始的,51单片机烧录程序通常是使用烧录软件如STC-ISP。这种方式,通过串口连接单片机,选择一个合适的波特率就可以烧录了。 后来学习STM32,编程时使用KEIL软件自带的下载按钮就能下载程序,方…

神仙级编程神器,吹爆

Visual Studio 编程领域公认的“最强IDE”,Visual Studio是目前最流行的Windows平台应用程序的集成开发环境,提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序,开发新的程序。 …

一文搞懂如何学习Android内部命令行工具集合

目录 1.安卓命令工具集 2.命令如何使用(举例) 2.1 am命令使用 2.2 dumpsys 命令使用 2.3 wm命令用法 2.4 rm命令的用法 2.5 logcat 命令的用法 2.6 cat 命令的用法 3.个人如何学习 3.1 推荐学习方法一 3.2 方法二 1.安卓命令工具集 安卓支持…

[附源码]计算机毕业设计JAVA校园淘宝节系统

[附源码]计算机毕业设计JAVA校园淘宝节系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis …

mybatis配置文件模板及常用标签介绍说明

转自: mybatis配置文件模板及常用标签介绍说明 下文笔者讲述mybatis中配置文件中常见的标签简介说明及mapper配置文件简介说明&#xff0c;如下所示 mybatis配置文件简介 mybatis.xml <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE co…

RSTP与MSTP

RSTP RSTP快速生成树树协议 生成树&#xff1a;为了防止二层网络中存在链路冗余时出现环路STP&#xff1a;生成树协议&#xff0c;802.1D标准定义RSTP&#xff1a;快速生成树协议&#xff0c;802.1w标准定义MSTP&#xff1a;多实例生成树协议&#xff0c;802.1s标准定义 STP…

【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、蓝牙设备配对 Android提供了蓝牙模块的管理工具&#xff0c;名叫BluetoothAdapter。下面是BluetoothAdapter类常用的方法说明&#xff1a; getDefaultAdapter&#xff1a;获取默认的蓝牙适配器。 getState&#xff1a;获取蓝…