A12 STM32_HAL库函数 之 HAL-ETH通用驱动 -- A -- 所有函数的介绍及使用

A12 STM32_HAL库函数 之 HAL-ETH通用驱动 -- A -- 所有函数的介绍及使用

  • 1 通用定时器(TIM)预览
    • 1.1 HAL_ETH_Init
    • 1.2 HAL_ETH_DeInit
    • 1.3 HAL_ETH_DMATxDescListInit
    • 1.4 HAL_ETH_DMARxDescListInit
    • 1.5 HAL_ETH_MspInit
    • 1.6 HAL_ETH_MspDeInit
    • 1.7 HAL_ETH_TransmitFrame
    • 1.8 HAL_ETH_GetReceivedFrame
    • 1.9 HAL_ETH_GetReceivedFrame_IT
    • 1.10 HAL_ETH_IRQHandler
  • 该文档修改记录:
  • 总结

1 通用定时器(TIM)预览

序号函数名描述
1HAL_ETH_Init()初始化以太网控制器。
2HAL_ETH_DeInit()反初始化以太网控制器。
3HAL_ETH_DMATxDescListInit()初始化以太网DMA发送描述符列表。
4HAL_ETH_DMARxDescListInit()初始化以太网DMA接收描述符列表。
5HAL_ETH_MspInit()初始化MCU外设相关的以太网控制器引脚或资源。
6HAL_ETH_MspDeInit()反初始化MCU外设相关的以太网控制器引脚或资源。
7HAL_ETH_TransmitFrame()传输以太网帧。
8HAL_ETH_GetReceivedFrame()获取接收到的以太网帧。
9HAL_ETH_GetReceivedFrame_IT()异步获取接收到的以太网帧,使用中断处理接收完成。
10HAL_ETH_IRQHandler()以太网控制器中断处理程序。
11HAL_ETH_TxCpltCallback()以太网发送完成回调函数。
12HAL_ETH_RxCpltCallback()以太网接收完成回调函数。
13HAL_ETH_ErrorCallback()以太网错误回调函数。
14HAL_ETH_ReadPHYRegister()读取PHY寄存器。
15HAL_ETH_WritePHYRegister()写入PHY寄存器。
16HAL_ETH_Start()启动以太网控制器。
17HAL_ETH_Stop()停止以太网控制器。
18HAL_ETH_ConfigMAC()配置以太网MAC。
19HAL_ETH_ConfigDMA()配置以太网DMA。
20HAL_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.1 HAL_ETH_Init

函数名HAL_ETH_Init
函数原形HAL_StatusTypeDef HAL_ETH_Init(ETH_HandleTypeDef* heth)
功能描述初始化以太网模块
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:初始化结果,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.2 HAL_ETH_DeInit

函数名HAL_ETH_DeInit
函数原形HAL_StatusTypeDef HAL_ETH_DeInit(ETH_HandleTypeDef* heth)
功能描述反初始化以太网模块
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:反初始化结果,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.3 HAL_ETH_DMATxDescListInit

函数名HAL_ETH_DMATxDescListInit
函数原形void HAL_ETH_DMATxDescListInit(ETH_HandleTypeDef *heth, ETH_DMADescTypeDef *DMATxDescTab, uint8_t *TxBuffer, uint32_t BufferSize)
功能描述初始化以太网 DMA 发送描述符列表
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2DMATxDescTab:指向 DMA 发送描述符列表的指针
输入参数 3TxBuffer:发送缓冲区的指针
输入参数 4BufferSize:发送缓冲区大小
输出参数
返回值
先决条件
被调用函数

1.4 HAL_ETH_DMARxDescListInit

函数名HAL_ETH_DMARxDescListInit
函数原形void HAL_ETH_DMARxDescListInit(ETH_HandleTypeDef *heth, ETH_DMADescTypeDef *DMARxDescTab, uint8_t *RxBuffer, uint32_t BufferSize)
功能描述初始化以太网 DMA 接收描述符列表
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2DMARxDescTab:指向 DMA 接收描述符列表的指针
输入参数 3RxBuffer:接收缓冲区的指针
输入参数 4BufferSize:接收缓冲区大小
输出参数
返回值
先决条件
被调用函数

1.5 HAL_ETH_MspInit

函数名HAL_ETH_MspInit
函数原形void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
功能描述初始化以太网外设(底层驱动的 MSP 初始化回调函数)
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.6 HAL_ETH_MspDeInit

函数名HAL_ETH_MspDeInit
函数原形void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
功能描述反初始化以太网外设(底层驱动的 MSP 反初始化回调函数)
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.7 HAL_ETH_TransmitFrame

函数名HAL_ETH_TransmitFrame
函数原形HAL_StatusTypeDef HAL_ETH_TransmitFrame(ETH_HandleTypeDef *heth, uint32_t FrameLength)
功能描述以太网发送数据帧
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2FrameLength:要发送的数据帧长度
输出参数
返回值HAL_StatusTypeDef:发送结果,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.8 HAL_ETH_GetReceivedFrame

函数名HAL_ETH_GetReceivedFrame
函数原形HAL_StatusTypeDef HAL_ETH_GetReceivedFrame(ETH_HandleTypeDef *heth)
功能

描述 | 获取以太网接收到的数据帧 |
| 输入参数 | heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:获取结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.9 HAL_ETH_GetReceivedFrame_IT

函数名HAL_ETH_GetReceivedFrame_IT
函数原形HAL_StatusTypeDef HAL_ETH_GetReceivedFrame_IT(ETH_HandleTypeDef *heth)
功能描述在中断中获取以太网接收到的数据帧
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:获取结果,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.10 HAL_ETH_IRQHandler

函数名HAL_ETH_IRQHandler
函数原形void HAL_ETH_IRQHandler(ETH_HandleTypeDef *heth)
功能描述以太网中断服务函数
输入参数heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

该文档修改记录:

修改时间修改说明
2024年4月12日第一次发布,介绍了 A12 STM32_HAL库函数 之 HALETH通用驱动 – A – 所有函数的介绍及使用

总结

以上就是A12 STM32_HAL库函数 之 HALETH通用驱动 – A – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

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

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

相关文章

基于SpringBoot+Vue的在线教育系统(源码+文档+包运行)

一.系统概述 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了在线教育系统的开发全过程。通过分析在线教育系统管理的不足,创建了一个计算机管理在线教育系统的方案。文章介绍了在线教育系统的系统分析部…

ETL工具-nifi干货系列 第十三讲 nifi处理器QueryDatabaseTable查询表数据实战教程

1、处理器QueryDatabaseTable,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列中值大于先前所见最大值的行。查询结果将被转换为 Avro 格式,如下图所示: 本示例通过QueryDatabase…

【模板】差分

本题链接:登录—专业IT笔试面试备考平台_牛客网 题目: 样例: 输入 3 2 1 2 3 1 2 4 3 3 -2 输出 5 6 1 思路: 一直以来,我总是不太理解差分和树状数组操作区别。 现在摸了一下开始有所理解了。 差分和树状数组的区别…

硬件开源--Model 3C(简称M3)芯片驱动RGB接口86中控屏PCBA原理图

针对市场IOT应用需求,基于启明智显的Model3C芯片(简称M3)设计开发的一款超高性价比的86型中控屏PCBA原理图开源。 Model3C芯片(简称M3)是一款基于 RISC-V 的高性能、国产自主、工业级高清显示与智能控制 MCU,配备强大的 2D 图形加速处理器、PNG/JPEG 解码…

LeetCode 202. 快乐数

LeetCode 202. 快乐数 1、题目 力扣题目链接:202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,…

关于 Windows10 计算机丢失 MSVCP120.dll 的解决方法

今天学长跟平时一样打开电脑开始发布文章需要用到Adobe Photoshop CC 2018的时候居然给我来个Photoshop.exe-系统错误、无法启动此程序,因为计算机中丢失MSVCP120.dll 尝试重新安装该程序以解决此问题,安装上面的说明重新安装了我的Photoshop CC 打开还是…

财务数字化转型如何找到打通业财融合的关键点

随着企业信息联网核查系统上线及即将到来的金税四期,企业将面临全业务、全方位、全流程的监控,企业“合不合规、经不经得起核查”,成为企业经营的一个重大考题。在此大环境下,财税安全成为企业经营中重要一环,尤为突出…

算法打卡day46|动态规划篇14| Leetcode 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

算法题 Leetcode 1143.最长公共子序列 题目链接:1143.最长公共子序列 大佬视频讲解:1143.最长公共子序列视频讲解 个人思路 本题和718. 最长重复子数组很相像,思路差不多还是用动态规划。区别在于这题不要求是连续的了,但要有相对顺序 解…

PHP婚恋小程序开发源码支持微信+公众号+APP

随着社会的发展和人们生活节奏的加快,传统的相亲方式已经不能满足现代人的需求。在此背景下,有人想到通过线上小程序的方式来满足更多的人进行相亲,所以在此情况下,婚恋相亲小程序由此出现。婚恋相亲小程序的功能有会员功能&#…

MobX进阶:从基础到高级特性全面探索

MobX 提供了丰富的高级特性,包括计算属性、反应式视图、中间件、异步流程控制、依赖注入和动态 observable 、在服务端渲染和 TypeScript 支持方面提供了良好的集成。这些特性进一步增强了 MobX 在状态管理方面的灵活性和可扩展性,使其成为一个功能强大、易于使用的状态管理解决…

openkylin系统通过网线连接ubuntukylin系统上网攻略

openkylin系统通过网线连接ubuntukylin系统上网攻略 主机1:x64 amd ,系统:ubuntukylin 22.04 ,状态:通过wifi连接热点进行上网,并共享网络。 主机2:x64 intel ,系统:ope…

大世界基尼斯见证辉煌,云仓酒庄首届酒类培训新高度诞生

近日,一场规模盛大的酒类培训盛会,在云仓酒庄的精心组织下圆满落幕。此次培训活动以其卓着的成果和盛大的规模,创下了大世界基尼斯纪录,为酒类培训领域树立了新的标杆。这一成就的取得,背后是云仓酒庄团队无数的心血与…

GPT 作词 + Suno 作曲|2 分钟成就一个音乐梦想!

嗨!我是小谷,大家好久不见~ 今天,我要和大家宣布一个好消息!!! 我出歌啦!! 词曲都是我自己(借助 AI)创作的 作为个人第一支单曲, 我给这首歌取…

Leetcode 11.盛最多水的容器(暴力->双指针)

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 …

MAC系统安装PHP、Java、Python、mysql、Composer等环境无权限问题的详细操作方法说明。

本篇文章主要讲解MAC系统安装PHP、Java、Python、mysql、Composer等环境无权限问题的详细操作方法说明。通过本篇文章你可以快速掌握brew安装相对应环境的能力。 作者:任聪聪 日期:2024年4月12日 一、brew介绍及安装说明 官网地址:https://b…

2024-8.python作用域+函数其他

变量的作用域 讲到了函数就必须介绍变量的作用域相关。 作用域指的是变量的有效范围。变量并不是在哪个位置都可以访问的,访问权限取决于这个变量是在哪里赋值的,也就是在哪个作用域内赋的值。变量在哪个作用域内赋值,则表示该变量的作用域就…

艾体宝方案 | ITT-Profitap IOTA——铁路运输的远程网络捕获和故障排除方案

在移动互联时代,铁路运输的数字化转型已成不可逆转的趋势。然而,随之而来的是对网络连接质量和故障排查的更高要求。本文将探讨如何利用艾体宝Profitap IOTA技术,在火车上实现远程网络捕获和故障排查,助力铁路运输行业迈向智能化未…

java swing电商出入库管理系统eclipse开发Mysql数据库CS结构java编程

一、源码特点 java swing 电商出入库管理系统 是一套完善的窗体设计系统,对理解SWING java 编程开发语言有帮助,系统具有完整的源代码和数据库,,系统主要采用C/S模式开发。 应用技术:javamysql 开发工具&#xff1…

WEB前端-用户注册倒计时

<body><textarea name"" id"" cols"30" rows"10">用户注册协议欢迎注册成为京东用户&#xff01;在您注册过程中&#xff0c;您需要完成我们的注册流程并通过点击同意的形式在线签署以下协议&#xff0c;请您务必仔细阅读…

net 5+ 服务创建

worker Service创建 在新版本服务中的创建&#xff0c;名称是Worker Service&#xff0c;从.NET Core 2.1开始&#xff0c;就可以使用辅助角色服务模板了&#xff0c;即Worker Service。它可以编写长期服务&#xff0c;作为 Windows 服务进行托管&#xff0c;还支持跨平台部署…