A44 STM32_HAL库函数 之SD通用驱动 --B -- 所有函数的介绍及使用

A44 STM32_HAL库函数 之SD通用驱动 --B -- 所有函数的介绍及使用

  • 1 该驱动函数预览
    • 1.11 HAL_SD_WriteBlocks_DMA
    • 1.12 HAL_SD_Erase
    • 1.13 HAL_SD_IRQHandler
    • 1.14 HAL_SD_GetState
    • 1.15 HAL_SD_GetError
    • 1.16 HAL_SD_TxCpltCallback
    • 1.17 HAL_SD_RxCpltCallback
    • 1.18 HAL_SD_ErrorCallback
    • 1.19 HAL_SD_AbortCallback
  • 该文档修改记录:
  • 总结

1 该驱动函数预览

序号函数名描述
1HAL_SD_Init()初始化SD卡。
2HAL_SD_InitCard()初始化SD卡。
3HAL_SD_DeInit()反初始化SD卡。
4HAL_SD_MspInit()初始化SD卡相关的MCU外设引脚或资源。
5HAL_SD_MspDeInit()反初始化SD卡相关的MCU外设引脚或资源。
6HAL_SD_ReadBlocks()从SD卡读取数据块。
7HAL_SD_WriteBlocks()向SD卡写入数据块。
8HAL_SD_ReadBlocks_IT()使用中断方式从SD卡读取数据块。
9HAL_SD_WriteBlocks_IT()使用中断方式向SD卡写入数据块。
10HAL_SD_ReadBlocks_DMA()使用DMA方式从SD卡读取数据块。
11HAL_SD_WriteBlocks_DMA()使用DMA方式向SD卡写入数据块。
12HAL_SD_Erase()擦除SD卡中的指定扇区。
13HAL_SD_IRQHandler()SD卡中断处理程序。
14HAL_SD_GetState()获取SD卡状态。
15HAL_SD_GetError()获取SD卡错误状态。
16HAL_SD_TxCpltCallback()SD卡传输完成回调函数。
17HAL_SD_RxCpltCallback()SD卡接收完成回调函数。
18HAL_SD_ErrorCallback()SD卡错误回调函数。
19HAL_SD_AbortCallback()SD卡中断回调函数。
20HAL_SD_GetCardCID()获取SD卡CID(卡识别寄存器)。
21HAL_SD_GetCardCSD()获取SD卡CSD(卡特性寄存器)。
22HAL_SD_GetCardStatus()获取SD卡状态。
23HAL_SD_GetCardInfo()获取SD卡信息。
24HAL_SD_ConfigWideBusOperation()配置SD卡的总线宽度。
25HAL_SD_GetCardState()获取SD卡状态。
26HAL_SD_Abort()终止SD卡操作。
27HAL_SD_Abort_IT()终止SD卡操作并启用中断。

以下是使用模板:

#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化SD卡HAL_SD_Init();// 初始化SD卡相关的MCU外设引脚或资源HAL_SD_MspInit();// 进行其他操作...// 从SD卡读取数据块HAL_SD_ReadBlocks();// 向SD卡写入数据块HAL_SD_WriteBlocks();// 使用中断方式从SD卡读取数据块HAL_SD_ReadBlocks_IT();// 使用DMA方式从SD卡读取数据块HAL_SD_ReadBlocks_DMA();// 擦除SD卡中的指定扇区HAL_SD_Erase();// 获取SD卡状态HAL_SD_GetState();return 0;
}

1.11 HAL_SD_WriteBlocks_DMA

函数名HAL_SD_WriteBlocks_DMA
函数原形HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint32_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks)
功能描述以DMA方式向SD卡写入数据块
输入参数 1hsd:SD句柄结构体指针
输入参数 2pData:数据缓冲区指针
输入参数 3BlockAdd:数据块地址
输入参数 4NumberOfBlocks:写入的数据块数量
输出参数
返回值HAL_StatusTypeDef:函数执行状态
先决条件
被调用函数

1.12 HAL_SD_Erase

函数名HAL_SD_Erase
函数原形HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAddr, uint32_t BlockEndAddr)
功能描述擦除SD卡中指定范围的数据块
输入参数 1hsd:SD句柄结构体指针
输入参数 2BlockStartAddr:起始数据块地址
输入参数 3BlockEndAddr:结束数据块地址
输出参数
返回值HAL_StatusTypeDef:函数执行状态
先决条件
被调用函数

1.13 HAL_SD_IRQHandler

函数名HAL_SD_IRQHandler
函数原形void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd)
功能描述SD卡中断服务函数
输入参数hsd:SD句柄结构体指针
输出参数
返回值
先决条件
被调用函数

1.14 HAL_SD_GetState

函数名HAL_SD_GetState
函数原形HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd)
功能描述获取SD卡状态
输入参数hsd:SD句柄结构体指针
输出参数
返回值HAL_SD_StateTypeDef:SD卡状态
先决条件
被调用函数

1.15 HAL_SD_GetError

函数名HAL_SD_GetError
函数原形uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd)
功能描述获取SD卡错误信息
输入参数hsd:SD句柄结构体指针
输出参数
返回值uint32_t:SD卡错误码
先决条件
被调用函数

1.16 HAL_SD_TxCpltCallback

函数名HAL_SD_TxCpltCallback
函数原形void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd)
功能描述SD卡数据发送完成回调函数
输入参数hsd:SD句柄结构体指针
输出参数
返回值
先决条件
被调用函数

1.17 HAL_SD_RxCpltCallback

函数名HAL_SD_RxCpltCallback
函数原形void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd)
功能描述SD卡数据接收完成回调函数
输入参数hsd:SD句柄结构体指针
输出参数
返回值
先决条件
被调用函数

1.18 HAL_SD_ErrorCallback

函数名HAL_SD_ErrorCallback
函数原形void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd)
功能描述SD卡错误处理回调函数
输入参数h

sd:SD句柄结构体指针 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.19 HAL_SD_AbortCallback

函数名HAL_SD_AbortCallback
函数原形void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd)
功能描述SD卡操作中断处理回调函数
输入参数hsd:SD句柄结构体指针
输出参数
返回值
先决条件
被调用函数

该文档修改记录:

修改时间修改说明
2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

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

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

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

相关文章

Codeforces Round 946 (Div. 3) E. Money Buys Happiness

m m m个月,每个月月底发 x x x的薪水,也就是第 i i i个月只能用前 i − 1 i-1 i−1个月挣的钱,而不能用这个月挣的钱。第 i i i个月花费 c [ i ] c[i] c[i]的薪水能获得 h [ i ] h[i] h[i]的快乐度,问最多能获取的快乐度是多少。 …

第十一章:接口

接口 文章目录 接口一、简介1.1 接口是什么1.2 接口的作用1.3 接口的开发与调用1.4 接口的组成 二、RESTful API三、json-server四、接口测试工具五、接口的创建 一、简介 1.1 接口是什么 接口是前后端通信的桥梁 简单理解:一个接口就是 服务中的一个路由规则&am…

Mybatis数据存在则更新,不存在则插入

系列文章目录 文章目录 系列文章目录一、参考链接1.参考链接2.百度AI 二、使用步骤1.引入库2.读入数据 总结 一、参考链接 1.参考链接 Mybatis - 常用 SQL 语句设计思路及具体实现 - 数据存在则更新,不存在则插入、批量更新、批量插入、连表查询 - 字段加减法 2…

代码随想录算法训练营第四十二天 | 1049.最后一块石头的重量II、494.目标和、474.一和零

1049.最后一块石头的重量II 题目链接:https://leetcode.cn/problems/last-stone-weight-ii/ 文档讲解:https://programmercarl.com/1049.%E6%9C%80%E5%90%8E%E4%B8%80%E5%9D%97%E7%9F%B3%E5%A4%B4%E7… 视频讲解:https://www.bilibili.com/vi…

聊聊系统架构之负载均衡优化实践

一、写在前面 最近在进行线上监控检查时,我遇到了两个超出预期的案例。首先,网关层的监控数据与应用实际监控数据存在不一致性,尤其是max有较大的差异,详见如下图。其次在某个应用中,通过httpclient请求某域名时发现只…

碳课堂 | 手把手教你申报CBAM

CBAM全称为 Carbon Border Adjustment Mechanism,也被称作“碳关税”或“碳边境调节机制”,是指在实施国内严格气候政策的基础上,要求进口或出口的高碳产品缴纳或退还相应的税费或碳配额。目前,由于欧盟碳边境调节机制是全球第一个…

2244. 完成所有任务需要的最少轮数

2244. 完成所有任务需要的最少轮数 题目链接&#xff1a;2244. 完成所有任务需要的最少轮数 代码如下&#xff1a; class Solution { public:int minimumRounds(vector<int>& tasks) {unordered_map<int,int> um;for(int i0;i<tasks.size();i)//统计各个…

数据结构——顺序表的实现

数据结构——顺序表的实现 一 关于顺序表的简单知识二 动态顺序表 一 关于顺序表的简单知识 1.顺序表的底层结构是数组&#xff0c;在数组的基础上增加了增&#xff0c;删&#xff0c;查&#xff0c;改等方法。 2.顺序表的分类&#xff1a;静态顺序表和动态顺序表 静态顺序表的…

Leaflet地图实例

ReactTypeScript实例&#xff1a; import React, { useEffect, useRef } from "react"; import * as L from "leaflet"; import "leaflet/dist/leaflet.css";const App: React.FC () > {const mapRef useRef<HTMLDivElement>(null);…

【调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新】

调试笔记-系列文章目录 调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 文章目录 调试笔记-系列文章目录调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 前言一、调试环境操作系统&#xff1a;Windows 10 专业版调试环境调试目标 二、调…

Android ViewModel实现和原理

ViewModel实现和原理 前言1. 使用1.1 gradle准备1.2 模拟场景1.3. LiveData和ViewModel1.4 更新数据 2. 原理与源码解读2.1 添加观察者2.2 setValue2.3 post 参考资料 前言 ViewModel的主要基于观察者的设计模式&#xff0c;他主要分为两个部分&#xff1a; 提供者Provider&a…

【React】极客园--01.项目前置准备

项目搭建 基于CRA创建项目 CRA是一个底层基于webpack快速创建React项目的脚手架工具 # 使用npx创建项目 npx create-react-app react-jike# 进入到项 cd react-jike# 启动项目 npm start调整项目目录结构 -src-apis 项目接口函数-assets 项目资源文件&…

CSS【实战】抽屉动画

效果预览 技术要点 实现思路 元素固定布局&#xff08;fixed&#xff09;在窗口最右侧外部js 定时器改变元素的 right 属性&#xff0c;控制元素移入&#xff0c;移出 过渡动画 transition transition: 过渡的属性 过渡的持续时间 过渡时间函数 延迟时间此处改变的是 right …

笔记-前端

URL 输入到渲染的过程 域名解析&#xff0c;找到服务地址 构建 TCP 连接&#xff0c;若有 https&#xff0c;则多一层 TLS 握手&#xff0c; 特殊响应码处理 301 302 解析文档 构建 dom 树和 csscom 生成渲染树&#xff1a;从DOM树的根节点开始遍历每个可见节点&#xff0c;对于…

shell脚本之函数

一、1.函数&#xff1a;将命令序列按照固定的表达格式写在一起 2.函数作用&#xff1a;可以重复使用的命令序列&#xff0c;大的工程分割成若干个小块&#xff0c;依次执行&#xff0c;提高代码的可读性。 3.函数的两种格式 4.return作用&#xff1a;只能写在函数内部&#xff…

12306全球最大票务系统与Gemfire介绍

全球最大票务系统 自2019年12月12日发售春运首日车票&#xff0c;截至2020年1月9日&#xff0c;12306全渠道共发售车票4.12亿张&#xff0c;日均售票能力达到了2000万张&#xff0c;平均一年售出30亿张火车票&#xff0c;也就是说12306已经发展成全球交易量最大的实时票务系统…

26 红黑树

目录 1.概念 2.性质 3.节点定义 4.结构 5.插入 6.验证 7.删除 8.红黑树和avl树比较 9.应用 概念 是一种二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色方式的限制&#xff…

reverse-android-实战喜马拉雅-ollvm

资料 1. apk: com.ximalaya.ting.android.apk. 2020年8月 可以使用 2. 抓包分析 java层分析 so层分析 登录的算法so是在 liblogin_encrypt.so中。 32位的&#xff0c; 用 IDA打开&#xff0c;查看 静态的导出函数。 打开 一个 首先看到 IDA VIEW 是一个横向 比较多的分支&am…

2-9 基于matlab的传递矩阵计算轴的模态

基于matlab的传递矩阵计算轴的模态&#xff0c;包括模态频率和模态振型&#xff0c;可设置轴的结构参数。程序已调通&#xff0c;可直接运行。 2-9 传递矩阵计算轴的模态 模态频率 - 小红书 (xiaohongshu.com)

python-jupyter notebook安装教程

&#x1f308;所属专栏&#xff1a;【python】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的…