A13 STM32_HAL库函数 之 HAL-ETH通用驱动 -- B -- 所有函数的介绍及使用
A13 STM32_HAL库函数 之 HAL-ETH通用驱动 -- B -- 所有函数的介绍及使用
- 1 通用定时器(TIM)预览
- 1.11 HAL_ETH_TxCpltCallback
- 1.12 HAL_ETH_RxCpltCallback
- 1.13 HAL_ETH_ErrorCallback
- 1.14 HAL_ETH_ReadPHYRegister
- 1.15 HAL_ETH_WritePHYRegister
- 1.16 HAL_ETH_Start
- 1.17 HAL_ETH_Stop
- 1.18 HAL_ETH_ConfigMAC
- 1.19 HAL_ETH_ConfigDMA
- 1.20 HAL_ETH_GetState
- 该文档修改记录:
- 总结
1 通用定时器(TIM)预览
序号 | 函数名 | 描述 |
---|---|---|
1 | HAL_ETH_Init() | 初始化以太网控制器。 |
2 | HAL_ETH_DeInit() | 反初始化以太网控制器。 |
3 | HAL_ETH_DMATxDescListInit() | 初始化以太网DMA发送描述符列表。 |
4 | HAL_ETH_DMARxDescListInit() | 初始化以太网DMA接收描述符列表。 |
5 | HAL_ETH_MspInit() | 初始化MCU外设相关的以太网控制器引脚或资源。 |
6 | HAL_ETH_MspDeInit() | 反初始化MCU外设相关的以太网控制器引脚或资源。 |
7 | HAL_ETH_TransmitFrame() | 传输以太网帧。 |
8 | HAL_ETH_GetReceivedFrame() | 获取接收到的以太网帧。 |
9 | HAL_ETH_GetReceivedFrame_IT() | 异步获取接收到的以太网帧,使用中断处理接收完成。 |
10 | HAL_ETH_IRQHandler() | 以太网控制器中断处理程序。 |
11 | HAL_ETH_TxCpltCallback() | 以太网发送完成回调函数。 |
12 | HAL_ETH_RxCpltCallback() | 以太网接收完成回调函数。 |
13 | HAL_ETH_ErrorCallback() | 以太网错误回调函数。 |
14 | HAL_ETH_ReadPHYRegister() | 读取PHY寄存器。 |
15 | HAL_ETH_WritePHYRegister() | 写入PHY寄存器。 |
16 | HAL_ETH_Start() | 启动以太网控制器。 |
17 | HAL_ETH_Stop() | 停止以太网控制器。 |
18 | HAL_ETH_ConfigMAC() | 配置以太网MAC。 |
19 | HAL_ETH_ConfigDMA() | 配置以太网DMA。 |
20 | HAL_ETH_GetState() | 获取以太网控制器状态。 |
使用模板:
#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化MCU外设相关的以太网控制器引脚或资源HAL_ETH_MspInit();// 初始化以太网控制器HAL_ETH_Init();// 进行其他操作...// 启动以太网控制器HAL_ETH_Start();// 启动DMA传输HAL_ETH_TransmitFrame();// 获取接收到的以太网帧HAL_ETH_GetReceivedFrame();// 异步获取接收到的以太网帧,使用中断处理接收完成HAL_ETH_GetReceivedFrame_IT();// 以太网中断处理程序HAL_ETH_IRQHandler();// 获取以太网控制器状态uint32_t ethState = HAL_ETH_GetState();// 停止以太网控制器HAL_ETH_Stop();// 反初始化以太网控制器HAL_ETH_DeInit();// 反初始化MCU外设相关的以太网控制器引脚或资源HAL_ETH_MspDeInit();return 0;
}
1.11 HAL_ETH_TxCpltCallback
函数名 | HAL_ETH_TxCpltCallback |
---|---|
函数原形 | void HAL_ETH_TxCpltCallback(ETH_HandleTypeDef *heth) |
功能描述 | 以太网发送完成回调函数 |
输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.12 HAL_ETH_RxCpltCallback
函数名 | HAL_ETH_RxCpltCallback |
---|---|
函数原形 | void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef *heth) |
功能描述 | 以太网接收完成回调函数 |
输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.13 HAL_ETH_ErrorCallback
函数名 | HAL_ETH_ErrorCallback |
---|---|
函数原形 | void HAL_ETH_ErrorCallback(ETH_HandleTypeDef *heth) |
功能描述 | 以太网错误回调函数 |
输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.14 HAL_ETH_ReadPHYRegister
函数名 | HAL_ETH_ReadPHYRegister |
---|---|
函数原形 | uint32_t HAL_ETH_ReadPHYRegister(ETH_HandleTypeDef *heth, uint16_t PHYRegAddr) |
功能描述 | 读取以太网 PHY 寄存器的值 |
输入参数 1 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输入参数 2 | PHYRegAddr:PHY 寄存器地址 |
输出参数 | 无 |
返回值 | uint32_t:PHY 寄存器的值 |
先决条件 | 无 |
被调用函数 | 无 |
1.15 HAL_ETH_WritePHYRegister
函数名 | HAL_ETH_WritePHYRegister |
---|---|
函数原形 | void HAL_ETH_WritePHYRegister(ETH_HandleTypeDef *heth, uint16_t PHYRegAddr, uint32_t PHYValue) |
功能描述 | 写入以太网 PHY 寄存器的值 |
输入参数 1 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输入参数 2 | PHYRegAddr:PHY 寄存器地址 |
输入参数 3 | PHYValue:要写入的值 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.16 HAL_ETH_Start
函数名 | HAL_ETH_Start |
---|---|
函数原形 | HAL_StatusTypeDef HAL_ETH_Start(ETH_HandleTypeDef *heth) |
功能描述 | 启动以太网模块 |
输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.17 HAL_ETH_Stop
函数名 | HAL_ETH_Stop |
---|---|
函数原形 | HAL_StatusTypeDef HAL_ETH_Stop(ETH_HandleTypeDef *heth) |
功能描述 |
| 停止以太网模块 |
| 输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.18 HAL_ETH_ConfigMAC
函数名 | HAL_ETH_ConfigMAC |
---|---|
函数原形 | HAL_StatusTypeDef HAL_ETH_ConfigMAC(ETH_HandleTypeDef *heth, ETH_MACInitTypeDef *macconf) |
功能描述 | 配置以太网 MAC 地址 |
输入参数 1 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输入参数 2 | macconf:MAC 初始化配置,指向一个 ETH_MACInitTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:配置结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.19 HAL_ETH_ConfigDMA
函数名 | HAL_ETH_ConfigDMA |
---|---|
函数原形 | HAL_StatusTypeDef HAL_ETH_ConfigDMA(ETH_HandleTypeDef *heth, ETH_DMAInitTypeDef *dmaconf) |
功能描述 | 配置以太网 DMA |
输入参数 1 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输入参数 2 | dmaconf:DMA 初始化配置,指向一个 ETH_DMAInitTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:配置结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.20 HAL_ETH_GetState
函数名 | HAL_ETH_GetState |
---|---|
函数原形 | HAL_ETH_StateTypeDef HAL_ETH_GetState(ETH_HandleTypeDef *heth) |
功能描述 | 获取以太网当前状态 |
输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_ETH_StateTypeDef:当前状态,可能的值有 HAL_ETH_STATE_RESET、HAL_ETH_STATE_READY 或 HAL_ETH_STATE_BUSY |
先决条件 | 无 |
被调用函数 | 无 |
该文档修改记录:
修改时间 | 修改说明 |
---|---|
2024年4月30日 | 第一次发布,介绍了 A13 STM32_HAL库函数 之 HALETH通用驱动 – B – 所有函数的介绍及使用 |
总结
以上就是A13 STM32_HAL库函数 之 HALETH通用驱动 – B – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。
相关文章:
A13 STM32_HAL库函数 之 HAL-ETH通用驱动 -- B -- 所有函数的介绍及使用
A13 STM32_HAL库函数 之 HAL-ETH通用驱动 -- B -- 所有函数的介绍及使用 1 通用定时器(TIM)预览1.11 HAL_ETH_TxCpltCallback1.12 HAL_ETH_RxCpltCallback1.13 HAL_ETH_ErrorCallback1.14 HAL_ETH_ReadPHYRegister1.15 HAL_ETH_WritePHYRegister1.16 HAL…...

Qotom Q720G5英特尔赛扬处理器N4000高性价比无风扇迷你电脑5网口软路由防火墙
在数字时代,迷你电脑已经成为高效、灵活的解决方案,无论是个人用户还是企业用户,都能从中受益。Qotom Q720G5 无风扇迷你电脑就是这样一款强大的选择,它不仅可以作为软路由、防火墙和路由器,还有着更多的潜力等待发掘。…...
如何了解数字化和信息化的区别?
在数字化浪潮席卷全球的今天,企业如何乘风破浪、实现转型升级? 数字化和信息化,这两个看似相似却各有千秋的概念,一直被人们拿来对比。 下面就来讲一讲我的理解: 从简单了说: “信息化”可以理解为传统数…...

CTF-SHOW SSRF
web351 存在一个flag.php页面,访问会返回不是本地用户的消息,那肯定是要让我们以本地用户去访问127.0.0.1/flag.php web352 代码中先判断是否为HTTP或https协议,之后判断我们传入的url中是否含有localhost和127.0.0,如果没有则…...

客户端传日期格式字段(String),服务端接口使用java.util.Date类型接收报错问题
客户端传日期格式字段(string),服务端接口使用java.util.Date类型接收报错问题 问题演示第1种:客户端以URL拼接的方式传值第2种:客户端以body中的form-data方式提交第3种 客户端以Body中的json方式提交 问题解决(全局解…...
【Python面试题收录】什么是堆?什么是栈?栈和堆的区别是什么?
一、堆和栈的定义 (1)堆(Heap) 数据结构:堆是一种特殊的完全二叉树,满足父节点的值总是大于或等于(大根堆)其子节点的值。也可以是总是小于或等于(小根堆)其…...
5-云原生监控体系-Grafana-使用配置文件实现自动化导入Dashboard
文章目录 1. 介绍(此文档使用的版本 grafana-enterprise-10.0.3-1)2. 清空之前的实验数据3. 使用配置文件方式配置 Datasource3.1. 创建配置文件3.2. 重启服务并检查是否生效4. 使用配置文件方式配置 Dashboard4.1. 创建配置文件5. 配置 Dashboard JSON 文件5.1. 下载 JSON 文…...

Ollama、FastGPT大模型RAG结合使用案例
参考: https://ollama.com/download/linux https://doc.fastai.site/docs/intro/ https://blog.csdn.net/m0_71142057/article/details/136738997 https://doc.fastgpt.run/docs/development/custom-models/m3e/ Ollama作为后端大模型加载运行 FastGPT作为前端页面聊天集成RA…...

夯实智慧新能源数据底座,TiDB Serverless 在 Sandisolar+ 的应用实践
本文介绍了 SandiSolar通过 TiDB Serverless 构建智慧新能源数据底座的思路与实践。作为一家致力于为全球提供清洁电力解决方案的新能源企业,SandiSolar面临着处理大量实时数据的挑战。为了应对这一问题,SandiSolar选择了 TiDB Serverless 作为他们的数据…...

MySQL数据库max_allowed_packet参数
如上图所示的报错,我在提交接口的时候出现了这个错误: MySqlConnector.MySqlException:Error submitting 4MB packet;ensure max_allowed_packet is greater than 4MB.在MySQL数据库中,有一个参数叫max_allowed_packet,这个参数会…...

Day98:云上攻防-云原生篇K8s安全Config泄漏Etcd存储Dashboard鉴权Proxy暴露
目录 云原生-K8s安全-etcd(Master-数据库)未授权访问 etcdV2版本利用 etcdV3版本利用 云原生-K8s安全-Dashboard(Master-web面板)未授权访问 云原生-K8s安全-Configfile鉴权文件泄漏 云原生-K8s安全-Kubectl Proxy不安全配置 知识点: 1、云原生-K8s安全-etcd未…...

JUC下面常见的锁
这里写目录标题 1、ReentrantLock2、Semaphore3、CountDownLatch4、CyclicBarrier 1、ReentrantLock ReentrantLock 是属于独占模式, 即同一时刻只允许一个线程获取锁。 2、Semaphore Semaphore 属于共享模式,synchronized 和 ReentrantLock 都是一次只…...

Uniapp+基于百度智能云完成AI视觉功能(附前端思路)
本博客使用uniapp百度智能云图像大模型中的AI视觉API(本文以物体检测为例)完成了一个简单的图像识别页面,调用百度智能云API可以实现快速训练模型并且部署的效果。 uniapp百度智能云AI视觉页面实现 先上效果图实现过程百度智能云Easy DL训练图…...
Android 软件盘的弹出和消失的监听
监听接口 OnKeyboardListener.java public interface OnKeyboardListener {void onKeyboardHidden();void onKeyboardShow(int keyboardHeight);} KeyBoardUtil.java public class KeyBoardUtil {private final static String TAG "KeyBoardUtil";public PopupWi…...

通俗易懂HTTP和HTTPS区别
HTTP:超文本传输协议,它是使用一种明文的方式发送我们的内容,没有任何的加密,例如我们要在网页上输入账号密码,如果使用HTTP协议,账号密码就可能会被暴露,默认端口是80. HTTPS:是HT…...
【ZZULIOJ】1061: 顺序输出各位数字(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 输入一个不大于10的9次方的正整数,从高位开始逐位分割并输出各位数字。 输入 输入一个正整数n,n是int型数据 输出 依次输出各位上的数字,每一个数字后面有一个空格…...

java数据结构与算法刷题-----LeetCode260. 只出现一次的数字 III
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 与运算取末尾1分组 与运算取末尾1分组 解题思路:时间…...
AWS被误扣费了,怎么解决?
有时在使用aws时,可能会无意中被AWS扣费,对于如何处理这个问题,作为aws的合作伙伴,接下来由九河云进行讲解: (1)审查账单:首先,您需要仔细审查AWS账单,了解具…...
再传IPO消息,SHEIN的上市为何充满变数?
据《金融时报》援引消息人士报道,SHEIN正在等待北京监管部门的批准,以推进在纽约或伦敦的重磅上市。 几乎每隔一段时间,SHEIN即将上市的消息就会成为媒体关注的焦点,但每一次报道都“没有下文”,再加上SHEIN官方的“拒…...
maven bom
BOM(Bill of Materials)是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号。BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性。 为什么要使用BOM 使用BOM除…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...