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 – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

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

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

相关文章

Android13 CameraServer启动流程

代码入口 frameworks/av/camera/cameraserver 里面包含了四个文件 我们先来看看Android.bp的内容 package {// See: http://go/android-license-faq// A large-scale-change added default_applicable_licenses to import// all of the license_kinds from "frameworks_a…

Flutter第七弹 网格列表GridView

1) Flutter提供了网格列表,怎么设置列数? 2)怎么初始化每个列表项Item? 一、GridView简介 Flutter也存在网格列表组建GridView,用于展示多行多列的列表。 1.1 GridView构建 采用GridView.count() 进行构建 1.2 Gr…

Android 8.1 设备删除蓝牙功能

Android 8.1 设备删除蓝牙功能 最近接到项目反馈,要求删除设备的蓝牙功能,具体修改参照如下: /project/ProjectConfig.mk: MTK_BT_SUPPORT no /vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defa…

服务器代理

服务器代理 配置:64G内存1 3090(24g)1P4000(8g) SSH连接 工作路径:/home/ubuntu/workspace/python Anaconda路径:/home/Ubuntu 1.在工作路径下创建自己的文件夹作为workspace 2.以用户ubunbtu登…

数据采集仪:自动化监测系统的核心组件

在当代的工业自动化领域,数据采集仪成为了一个关键的技术工具,它不仅仅是简单地将电信号转化为数据信号,而是能够实时、有效地处理和显示各种信号,确保整个监测系统的稳定、高效运行。 点击输入图片描述(最多30字&…

【微信小程序】canvas开发笔记

【微信小程序】canvasToTempFilePath:fail fail canvas is empty 看说明书 最好是先看一下官方文档点此前往 如果是canvas 2d 写canvas: this.canvas,,如果是旧版写canvasId: ***, 解决问题 修改对应的代码,如下所示,然后再试试运行&#x…

春招百题--堆--扩展篇--找出最小

其他类似题目: 373. 查找和最小的 K 对数字378. 有序矩阵中第 K 小的元素719. 找出第 K 小的数对距离786. 第 K 个最小的素数分数 2040. 两个有序数组的第 K 小乘积 2386. 找出数组的第 K 大和 215. 数组中的第K个最大元素 不纠结直接sort排序解决。 class Solut…

[大模型]Yi-6B-Chat 接入 LangChain 搭建知识库助手

Yi-6B-Chat 接入 LangChain 搭建知识库助手 环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端开始…

制作framework

参考学习地址 https://www.jianshu.com/p/a15ad98bc965 注意事项: 1、在自动生成的.h文件中引入头文件时,需要完整路径 2、编译成功后如何查看位置 实际位置在: /Users/apple/Library/Developer/Xcode/DerivedData/项目名称-xaskhaskhkas/…

Zookeeper集群部署

目录 1.环境部署 1.1实验环境 1.2安装前环境 2.安装Zookeeper 2.1修改Zookeeper配置配置文件 2.2 设置myid号以及启动脚本 2.3 设置脚本 2.4 加权并加入系统管理 2.5 分别启动三台机器(192.168.247.21) 2.6 查看三台主机状态信息 1.环境部署 1…

[java]24:集合

集合: 1)可以动态保存任意多个对象,使用比较方便! 2)提供了一系列方便的操作对象的方法:add、remove、set、get等3)使用集合添加,删除新元素的示意代码-简洁了 集合的框架体系: Java…

Kyligence 发布企业级 AI 解决方案,Data + AI 落地迈向新阶段

4月11日,Kyligence 2024 数智论坛暨春季发布会成功召开。Kyligence 正式发布全新的企业级 AI 解决方案,基于服务金融、零售、制造、医药等行业领先客户的落地实践,Kyligence 为企业提供准确、可靠、智能的 AI 指标平台一站式解决方案&#x…

影响小程序SSL证书收费标准的因素有哪些?

在当今互联网时代,移动应用发展日新月异,小程序逐渐成为广大企业和个人开发者的心仪之选。然而,伴随小程序的广泛应用,安全问题和用户信任显得尤为关键。为了确保小程序的信息传输安全,SSL证书成为了一项基础配置。那么…

Spring Cloud系列(二):Eureka Server应用

系列文章 Spring Cloud系列(一):Spirng Cloud变化 Spring Cloud系列(二):Eureka Server应用 目录 前言 注册中心对比 Nacos Zookeeper Consul 搭建服务 准备 搭建 搭建父模块 搭建Server模块 启动服务 测试 其他 前言 前面针对新版本的变化有了…

SD-WAN企业网络部署模式及适用企业类型

随着企业规模的扩张和数字化转型的推进,SD-WAN作为一种灵活、安全和高效的组网解决方案备受关注。那么,SD-WAN在企业网络部署中有哪些常见模式?又有哪些类型的企业最适合采用SD-WAN呢?让我们一起来了解一下! 常见的SD-…

算法修炼之路之双指针含多道leetcode 经典题目

目录 前言 一:普通双指针 1.经典题目一 283移动0问题 分析 代码实现 2.经典题目二 1089复写0 分析 代码实现 二:解决成环类问题-快慢指针 经典例题一 202快乐数 分析 代码实现 三:左右相遇指针 经典例题一 11 盛最多水的容…

基于Whisper语音识别的实时视频字幕生成 (一): 流式显示视频帧和音频帧

Whishow Whistream(微流)是基于Whisper语音识别的的在线字幕生成工具,支持rtsp/rtmp/mp4等视频流在线语音识别 1. whishow介绍 whishow(微秀)是python实现的在线音视频流播放器,支持rtsp/rtmp/mp4等流式输…

说说TCP为什么需要三次握手和四次挥手?

文章目录 一、三次握手为什么不是两次握手? 二、四次挥手四次挥手原因 三、总结参考文献 一、三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包 主要作用就是为了确认双方的接收能力和…

将File转为MultipartFile

将File转为MultipartFile 引言一、File转MultipartFile的实现方法二、生产环境考量总结 引言 在处理文件上传功能时,我们常常会遇到需要将本地File对象转换为Spring Web框架中的MultipartFile对象的情况。这种转换在开发阶段可能通过自定义方法得以实现,…

毅速ESU丨增材制造有助于传统制造企业打造新增长极

在科技浪潮的推动下,传统制造企业正面临着前所未有的挑战与机遇。产品的复杂程度不断提升,个性化需求层出不穷,越来越短的生产周期,不断升级的品质要求等,传统的生产模式在应对这些变化并不容易。而增材制造&#xff0…