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

news2024/10/6 1:45:18

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

LAN8720A数据手册(中文+英文)


前言

本次实验以 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 通了

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/52511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot整合mybatis实现增删改查

前言 在学习Springboot过程中,整合mybatis框架实现表数据的增删改查,话不多说,开始贴代码! Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理&#xff…

基于51单片机智能IC卡电表控制系统

资料编号:201 功能介绍: 采用51单片机作为主控CPU,使用按键进行模拟冲卡(模拟缴费冲卡),通过按键来控制当前是否使用电力,并且LCD1602实时显示当前电力可用量剩余多少,当电力余额不…

3. JVM对象创建与内存分配机制

1. JVM对象创建过程详解 对象创建的主要流程 1.1 分配内存空间的方法 指针碰撞(默认使用指针碰撞) 如果JAVA堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放一个指针作为分界点&#xf…

Tableau长期免费使用的方法总结

目录方法一:使用Tableau Public第一步:在Product中点击Tableau Public第二步:向下滚动找到下载链接第三步:进入下载页面点击下载方法二:每一个可下载版本滚动试用14天第一步:**resource** → **support** →…

06【SpringMVC的Restful支持】

文章目录六、SpringMVC的Restful支持6.1 RESTFUL示例:6.2 基于restful风格的url6.3 基于Rest风格的方法6.4 配置HiddenHttpMethodFilter6.5 Restful相关注解六、SpringMVC的Restful支持 REST(英文:Representational State Transfer&#xff…

.vcxproj.filters 误删后如何重建

背景: 今天碰到这样一种情况,我在删除这个VS文件夹下的.user文件时,不小心把.vcxproj.filters也删除了。当然为什么删.user呢,因为换电脑了。 删除之后,我发现:我的解决方案目录变成这样了: 对…

基于springboot企业客户信息反馈平台设计与实现的源码+文档

摘 要 网络的广泛应用给生活带来了十分的便利。所以把企业客户信息反馈管理与现在网络相结合,利用java技术建设企业客户信息反馈平台,实现企业客户信息反馈的信息化。则对于进一步提高企业客户信息反馈管理发展,丰富企业客户信息反馈管理经…

数据分析:从界定问题开始做数据分析?

一、引言 “界定问题”是数据分析工作流程的第一步,也是最重要的一步。再怎么强调“界定问题”的重要性都不为过,因为一旦没有把问题界定清楚,后续的工作很可能将会南辕北辙。而如果我们将问题界定清楚,就能针对性的制定解决方案。 1.什么是界定问题 界定问题是一个需求…

黄健翔质疑半自动越位技术?用「技术流」解读卡塔尔世界杯

昨天,喀麦隆3比3塞尔维亚的比赛,黄健翔发微博质疑「半自动越位识别技术」太慢,而且没有考虑观众的需求,严重影响看球的体验,巴西和瑞士的比赛,黄健翔连发三条微博,再次吐槽VAR技术对足球带来的伤…

Qt | QTextCodec类使用详解、GBK和UTF8编码互转、QString的toLocal8bit和toLatin1区别

Qt | QTextCodec类使用详解、GBK和UTF8编码互转、QString的toLocal8bit和toLatin1区别 目录Qt | QTextCodec类使用详解、GBK和UTF8编码互转、QString的toLocal8bit和toLatin1区别1、QTextCodec简介及使用1.1 编码之间的转换1.2 解决中文显示乱码问题2、QString的toLocal8bit和t…

Python——基本数据类型的转换

1、为什么需要左数据类型的转换 2、转换为整形: 浮点类型转换为整形: a 3.14 b int(a) print(b) 浮点类型转换成整形的规则是:保留小数点前面的数,去掉小数点和小数点后面的数。 字符串转换成整形; a 123 b int(a…

PHP怎么实现实时聊天?GatewayWorker+Thinkphp5即时通讯系统实现

PHP怎么实现实时聊天?GatewayWorkerThinkphp5即时通讯系统实现 一、项目介绍 后端技术:thinkphp5fastadmingatewayworker 前端技术:jqueryhtmlcsswebsocket 项目实现了简单的登录、注册功能,会员可进行后台管理,主界…

[OpenCV实战]52 在OpenCV中使用颜色直方图

颜色直方图是一种常见的图像特征,顾名思义颜色直方图就是用来反映图像颜色组成分布的直方图。颜色直方图的横轴表示像素值或像素值范围,纵轴表示该像素值范围内像素点的个数或出现频率。颜色直方图属于计算机视觉中的基础概念,其常常被应用于…

Ceres库中参数理解

1 参数含义 2 参考链接 Modeling Non-linear Least Squares — Ceres Solver (ceres-solver.org) Ceres详解(二) CostFunction_他人是一面镜子,保持谦虚的态度的博客-程序员宝宝_ceres costfunction - 程序员宝宝 (cxybb.com)

Linux基础知识与实操-篇七:用户身份切换与特殊控制

文章目录使用者身份的切换配置sudo单一用户群组处理有限制的命令操作特殊shell与PAM模块Linux用户信息传递与当前系统上其他用户对话建立大量账号最后在理解了前篇 篇六:用户权限控制与账号管理 后,我们继续深入用户权限控制关于用户身份切换、限制特殊权限相关的内…

一步步带你用react+spring boot搭建后台之二(登录与首页篇)

前言 最近半年一直在重庆忙于项目上的事情,博客停更了好久,一直想写2个开源项目: 一个是入门级:一步步带你用reactspring boot搭建后台 一个是olap应用系列:一步步构建olap分析平台 今天开始写第一个系列,完整代码随…

LDO(线性稳压器)设计检查

原理图设计规范检查——LDO(线性稳压器)设计检查 LDO基本概念: LDO即low dropout regulator,是一种低压差线性稳压器,这是相对于传统的线性稳压器来说的。传统的线性稳压器,如78XX系列的芯片都要求输入电…

Linux cifs挂载远程windows共享目录

Linux cifs挂载远程windows共享目录共享windows目录开启共享权限共享磁盘或目录Linux 先决条件安装Linux依赖开启Administrator 用户使用Username/Password挂载临时挂载自动挂载使用Credentials挂载创建CIFS Windows共享凭证文件临时挂载自动挂载终止挂载共享windows目录 开启…

“算力时代”奔涌而来,JASMINER茉莉发布能效更强劲的X16-Q

11月26日,JASMINER茉莉发布X16系列首款静音型算力产品X16-Q,并同步开启全球预售,将为行业带来更高效、更绿色、更智能的智慧算力。 JASMINER X16相较X4系列产品迎来了全新的“进化”,除去新一代JASMINER茉莉自研高通量芯片的应用…

百看不如一练系列 32个python实战项目列表,得不到就毁掉

前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行。 这里整理了32个Python实战项目列表,都有完整且详细的教程,你可以从中选择自己想做…