STM32 HAL库之SDIO例程 Micro SD卡 - 2

news2024/12/13 5:41:27

1、硬件图

2、示例代码

根据提示配置SDCLK为72/3 = 24MHz。

static void MX_SDIO_SD_Init(void)
{

  /* USER CODE BEGIN SDIO_Init 0 */
  SD_InitTypeDef Init;
	Init.ClockEdge           = SDIO_CLOCK_EDGE_RISING;
	Init.ClockBypass         = SDIO_CLOCK_BYPASS_DISABLE;
	Init.ClockPowerSave      = SDIO_CLOCK_POWER_SAVE_DISABLE;
	Init.BusWide             = SDIO_BUS_WIDE_1B;
	Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE;
	Init.ClockDiv            = SDIO_INIT_CLK_DIV;
  /* USER CODE END SDIO_Init 0 */

  /* USER CODE BEGIN SDIO_Init 1 */

  /* USER CODE END SDIO_Init 1 */
  hsd.Instance = SDIO;
  hsd.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
  hsd.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
  hsd.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
  hsd.Init.BusWide = SDIO_BUS_WIDE_4B;
  hsd.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE;
  hsd.Init.ClockDiv = 1;
  if (HAL_SD_Init(&hsd) != HAL_OK)
  {
    Error_Handler();
  }
	
			SDIO_Init(hsd.Instance, Init);
	
  if (HAL_SD_ConfigWideBusOperation(&hsd, SDIO_BUS_WIDE_4B) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN SDIO_Init 2 */

  /* USER CODE END SDIO_Init 2 */

}

BUG:SD_FindSCR出现死等情况。

解决:在位宽1bit切换至4Bit配置时,SDIOCLK已经由小于400KH变为24Mhz,部分SD卡是不支持的,故在初始化函数中添加   SDIO_Init(hsd.Instance, Init)降低SDIO的基准时钟,配置为4bit位宽以后,可重新调整为24Mhz。

配置完成后可在while大循环之前读取SD卡的一个block内容。

    HAL_SD_ReadBlocks(&hsd, SDInfo, 0, 1, 0xffff);

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

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

相关文章

小程序开发中的插件生态与应用-上

更多精彩内容都在公zhong号:小白的大数据之旅 在小程序的开发过程中,插件作为扩展功能、提升效率的重要工具,扮演着不可或缺的角色。它们不仅能够帮助开发者快速集成复杂的功能模块,还能优化开发流程,缩短项目周期。 …

深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)

深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna) 前言1.Chat2DB2.SQL Chat3.Wren AI4.Vanna 前言 在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业…

Java面试之单例模式浅谈

单例模式是Java面试中常会问到的一个问题,众所周知,单例模式分为两大部分:饿汉模式和懒汉模式。但是,如果当面试官问道关于单例模式的话,如果你只答出这两种模式,且懒汉模式还是最基础最简陋版的话&#xf…

零距离对接Modnbus转Profinet网关连接伺服与PLC

本研究案例详细阐述了开疆智能Modbus转Profinet网关KJ-PNG-201在实现HD3-L系列通用伺服驱动器与PLC互联中的应用。所涉及的设备包括西门子S7-1200 PLC、Modbus转Profinet网关以及HD3-L系列通用伺服驱动器。通过网关转换MODBUS协议的伺服驱动器与PROFINET协议的PLC之间的通信&am…

集成方案 | Docusign + 泛微,实现全流程电子化签署!

本文将详细介绍 Docusign 与泛微的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 在现代企业运营中,效率和合规性是至关重要的。泛微作为企业级办公自动化和流程管理的解决…

CTF-WEB: php-Session 文件利用 [第一届国城杯 n0ob_un4er 赛后学习笔记]

step 1 搭建容器 教程 A5rZ 题目 github.com Dockerfile 有点问题,手动修复一下 FROM php:7.2-apacheCOPY ./flag /root COPY ./readflag / COPY ./html/ /var/www/html/ COPY ./php.ini /usr/local/etc/php/php.ini COPY ./readflag /readsecretRUN chmod 755 /var/www…

融资融券哪家证券公司利率3.8%,融资融券交易流程科普

融资融券哪个券商合适主要考虑券商业务实力与佣金费率等相关因素。 业务方面,一些大型上市券商业务更加成熟。这些券商在融资融券市场中占据重要地位,资金充足,券源丰富,能够满足投资者多样化的投资需求。 融资融券的利率和佣金…

Java 使用 Redis 实现微博热搜功能

在社交平台上,热搜功能是一个非常重要的组成部分。它展示了当前最热门的话题,帮助用户迅速了解最受关注的事件。在微博等平台上,热搜榜单通常是实时变化的,可能会根据用户的互动数据(如搜索频次、点赞量、评论数等&…

《庐山派从入门到...》IDE启动

《庐山派从入门到...》IDE启动 《庐山派从入门到...》IDE启动 IDE(Integrated Development Environment),即集成开发环境,是一种软件应用程序,旨在为软件开发人员提供一个全面的工具集合,以便可以更高效地编…

打电话玩手机识别-支持YOLO,COCO,VOC格式的标记,超高识别率可检测到手持打电话, 非接触式打电话,玩手机自拍等

打电话玩手机识别-支持YOLO,COCO,VOC格式的标记,超高识别率可检测到手持打电话, 非接触式打电话,玩手机自拍等1275个图片。 手持打电话: 非接触打电话 玩手机 数据集下载 yolov11:https://download.csdn…

【智体OS】官方上新发布智体电视:基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视

【智体OS】官方上新发布智体电视:基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视 dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆),…

Flink+Paimon实时数据湖仓实践分享

随着 Paimon 近两年的推广普及,使用 FlinkPaimon 构建数据湖仓的实践也越来越多。在 Flink 实时数据开发中,对于依赖大量状态 state 的场景,如长周期的累加指标计算、回撤长历史数据并更新等,使用实时数仓作为中间存储来代替 Flin…

Stable Diffusion本地部署:从零开始的完整指南

1、引言 Stable Diffusion是计算机视觉领域的一个生成式大模型,能够进行文生图(txt2img)和图生图(img2img)等图像生成任务。它利用深度学习技术,特别是RealisticVision v2.0模型,能够创造出接近…

鸿蒙元服务上架

鸿蒙元服务上架 一、将代码打包成 .app 文件1. 基本需求2. 生成密钥和证书请求文件3. 申请发布证书4. 申请发布Profile5. 配置签名信息6. 更新公钥指纹7. 打包项目成 .app 文件 二、发布元服务1. 进入应用信息页面2. 上传软件包3. 配置隐私协议4. 配置版本信息5. 提交审核&…

【论文阅读】PRIS: Practical robust invertible network for image steganography

内容简介 论文标题:PRIS: Practical robust invertible network for image steganography 作者:Hang Yang, Yitian Xu∗, Xuhua Liu∗, Xiaodong Ma∗ 发表时间:2024年4月11日 Engineering Applications of Artificial Intelligence 关键…

day2 数据结构 结构体的应用

思维导图 小练习: 定义一个数组,用来存放从终端输入的5个学生的信息【学生的信息包含学生的姓名、年纪、性别、成绩】 1>封装函数 录入5个学生信息 2>封装函数 显示学生信息 3>封装函数 删除第几个学生信息,删除后调用显示学…

特征交叉-CAN学习笔记代码解读

一 核心模块coaction 对于每个特征对(feature_pairs)weight, bias 来自于P_inductionP_fead是MLP的input 举个例子:如果是用户ID和产品ID的co-action,且产品ID是做induction,用户ID是做feed。 step1 用户ID/产品ID都先形成一个向量&#xf…

EfficientNet与复合缩放理论(Compound Scaling Theory) 详解(MATLAB)

1.EfficientNet网络与模型复合缩放 1.1 EfficientNet网络简介 1.1.1 提出背景、动机与过程 EfficientNet是一种高效的卷积神经网络(CNN),由Google的研究团队Tan等人在2019年提出。EfficientNet的设计目标是提高网络的性能,同时减…

SQL语句在MySQL中如何执行

MySQL的基础架构 首先就是客户端,其次Server服务层,大多数MySQL的核心服务都在这一层,包括连接、分析、优化、缓存以及所有的内置函数(时间、日期、加密函数),所有跨存储引擎功能都在这一层实现&#xff1…

开源低代码平台-Microi吾码-表单控件数据源绑定配置

表单控件数据源绑定配置 平台简介普通数据源数据源引擎Sql数据源通过其它字段来动态绑定数据源关于绑定数据源后的显示字段和存储字段 平台简介 技术框架:.NET8 Redis MySql/SqlServer/Oracle Vue2/3 Element-UI/Element-Plus平台始于2014年(基于Av…