当前位置: 首页 > news >正文

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)预览

序号函数名描述
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.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 寄存器的值
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2PHYRegAddr: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 寄存器的值
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2PHYRegAddr:PHY 寄存器地址
输入参数 3PHYValue:要写入的值
输出参数
返回值
先决条件
被调用函数

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 地址
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2macconf: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
输入参数 1heth:以太网句柄,指向一个 ETH_HandleTypeDef 结构体
输入参数 2dmaconf: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除…...

若依vue中关于字典的使用

文章目录 字典管理页面列表点击某个字典类型展示具体字典数据修改某一条字典数据 字典的应用一般用于select多选框中代码实现根据字典Dict的value获取Label,类似于通过key获得value 源码解析 字典管理页面 列表 点击某个字典类型展示具体字典数据 修改某一条字典数…...

链表题(哑结点的使用)

给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 首先面对删除链表节点的操作,我们通常是将该节点的上一个节点的next指向该节点的下一个节点,从而将这个节点置空,达到删除节点的操作。 但是我们会碰…...

C#:求三个整数的最大值

任务描述 本关任务:编写一个程序,实现从键盘输入的三个整数,输出三个整数的最大值。 编程要求 根据提示,在右侧编辑器补充代码,计算并输出从键盘输入的三个数的最大值。 测试说明 平台会对你编写的代码进行测试&…...

广州南沙番禺联想SR530服务器主板传感器故障维修

今日分享一例广州市南沙区联想ThinkSystem SR530服务器sensor sysbrd vol故障问题维修案例; 服务器型号是:Lenovo thinksystem sr530 g6服务器 服务器所在位置:广东省广州市南沙区 服务器故障问题:机房异常停电,来电后…...

深入探索自然语言处理:用Python和BERT构建文本分类模型

在当今的信息时代,自然语言处理(NLP)技术正在改变我们理解和处理自然语言的方式。NLP使计算机能够解读、理解和生成人类语言,从而在多种应用中实现自动化,如聊天机器人、情感分析和文本分类。本文将详细介绍如何使用Py…...

在Visual Studio Code中编辑React项目时,以下是一些推荐的扩展

ESLint:这个扩展可以集成ESLint到VS Code中,帮助你在编写代码时发现和修复JavaScript和TypeScript的语法错误和代码风格问题。 Prettier - Code formatter:Prettier是一个代码格式化工具,可以自动格式化你的代码以保持一致的代码…...

智算时代的基础设施如何实现可继承可演进?浪潮云海发布 InCloud OS V8 新一代架构平台

从 2023 年开始持续火爆的 AIGC 正在加速落地应用,为全行业带来生产生活效率的变革与升级。面对数字化转型与智能化转型,对于技术团队来说,既要根据业务与 AI 应用去部署以云为基础的 AI 算力,又要与已有数据和系统(甚…...

LDF、DBC、BIN、HEX、S19、BLF、ARXML、slx等

文章目录 如题 如题 LDF是LIN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 DBC是CAN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 BIN文件烧录在BOOT里面(stm32)&#xff0c…...

因为使用ArrayList.removeAll(List list)导致的机器重启

背景 先说一下背景,博主所在的业务组有一个核心系统,需要同步两个不同数据源给过来的数据到redis中,但是每次同步之前需要过滤掉一部分数据,只存储剩下的数据。每次同步的数据与需要过滤掉的数据量级大概在0-100w的数据不等。 由…...

Let‘s Encrypt

创建文件夹 mkdir /usr/local/develop/ 安装Certbot客户端 yum install certbot 首先确保example.com和www.example.com这两个域名通过DNS解析绑定了你的web 服务器的公网 IP 就是说先要完成域名解析到服务器 下面命令会验证 /var/www/example 他会将一些命令文件存在…...

osx wordpress/优化关键词技巧

2019独角兽企业重金招聘Python工程师标准>>> 一年一度的秋招已经打响了发令枪,从去年的薪酬排行来看,算法工程师和数据分析等工作排在前列,很多相关专业的学生一直在自学一些网络上的公开课并阅读一些专业书籍,比如“西…...

建站网站教程视频教程/网站seo百度百科

ant 使用指南 一、概述 ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。在实际软件开发中,有很多地方可以用到ant。 开发环境: System:Windows JDK:1.6 IDE&…...

网站建设的空间选择/手机端seo

为什么阿里巴巴的持久层抛弃hibernate,采用MyBatis框架? 原因大概有以下4点: 尤其是需要处理大量数据或者大并发情况的网站服务,这也阿里选择MyBatis的原因。 MyBatis整体架构 不多讲,先看目录图 MyBatis源码笔记文档…...

wordpress主题更新教程/网站优化培训学校

概念整理汇总:1.专业术语:CH4:曲率:曲线的曲率(curvature)就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。数学上表明曲线在某一点的弯曲程度的数值。曲率越大&a…...

网站建设交易平台/百度付费推广有几种方式

最近在使用阿里云MNS官方PHP版SDK的过程中,发现发送到topic的消息,不能设置tag(其它语言版本SDK支持tag,如java,python),但在阿里云控制台页面发送是可以设置tag的。 因为业务需要,所…...

企业网站设计建设长春/b站视频未能成功转码

为了测试算法方便,想让linux开机后在字符模式下,启动自己指定的程序。这里我采用将算法配置成系统服务的形式,使系统在其后后自动执行。具体实施分为以下两步: 1,自定义开机启动服务,可以参考我的前一篇文章…...