音乐播放器

ESP32- 项目应用1 音乐播放器之sd的驱动配置 #1

文章目录

  • 音乐播放器
  • 1 sd卡介绍
    • 1.1 SDCARD介绍
    • 1.2 物理结构
    • 1.3 协议说明
    • 1.4 sd 卡模式
    • 1.5 数据模式
    • 1.6 sdio 初始化流程
    • 1.7 SPI 模式下的 SD 卡初始化
  • 2 原理图
    • 2.1 sd原理图
    • 2.2 esp32的接口
  • 3 代码配置
    • 3.1 驱动代码
    • 3.2 获取sd大小和体积


1 sd卡介绍

1.1 SDCARD介绍

最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驱动,而且有多种体积的尺寸可供选择(标准的 SD 卡尺寸及 Micro SD 卡尺寸等),能满足不同应用的要求。只需要少数几个 IO 口即可外扩一个高达 32GB 或以上的外部存储器,容量从几十 M 到几十G 选择范围很大,更换也很方便,编程也简单,是单片机大容量外部存储器的首选。

1.2 物理结构

SD 卡的规范由 SD 卡协会明确,可以访问 https://www.sdcard.org 查阅更多标准。SD 卡主要有 SD、Mini SD 和 microSD(原名 TF 卡,2004 年正式更名为 Micro SD Card,为方便本文用microSD 表示)三种类型,Mini SD 已经被 microSD 取代,使用得不多。SD 卡允许了不同的接口来访问它的内部存储单元。最常见的是 SDIO 模式和 SPI 模式,根据这两种接口模式,我们也列出 SD 卡引脚对应于这两种不同的电路模式的引脚功能定义。

在这里插入图片描述
在这里插入图片描述
SD 卡和 Micro SD 只有引脚和形状大小不同,内部结构类似,操作时序完全相同,可以使用完全相同的代码驱动,下面以 9’Pin SD 卡的内部结构为为例,展示 SD 卡的存储结构。

1.3 协议说明

一个完整的 SD卡操作过程是:主机(单片机等)发起“命令”,SD卡根据命令的内容决定是否发送响应信息及数据等,如果是数据读/写操作,主机还需要发送停止读/写数据的命令来结束本次操作,这意味着主机发起命令指令后,SD 卡可以没有响应、数据等过程,这取决于命令的含义。

在这里插入图片描述
SD 卡的命令固定为 48 位,由 6 个字节组成,字节 1 的最高 2 位固定为 01,低 6 位为命令号(比如 CMD16,为 10000B即 16进制的 0X10,完整的 CMD16,第一个字

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

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

相关文章

Vue.js 指令系统完全指南:深入理解 v- 指令

Vue.js 的指令系统是其最强大的特性之一,通过以 v- 开头的特殊属性,我们可以在模板中声明式地绑定底层Vue实例的数据。本文将深入讲解Vue中最重要的指令,帮助掌握Vue的核心功能。 文章目录1. v-model:双向数据绑定的核心基本用法修…

计算机分类汇总大全

前端部分有 Node.js、ActionScript、Swift、TypeScript、Webpack、JavaScript。需要分别详细说明它们的定义、特点、应用场景、优缺点等。比如 Node.js,要提到它的运行环境、事件驱动、非阻塞 I/O,适合的应用如 API 服务、实时应用,以及常用框…

模拟链路滤波器设计一些细节

目录 原设计思路剖析 300M带宽仿真与计算 原设计思路剖析 滤波器设计的一些细节,以下为ADS54J60模拟链路的一些问题设计原理图 实际电路设计如上所示,但是实际bom并未按此设计,根据实际的BOM明细以及ADC使用说明书,可以间接理解原设计者的设计初衷,是将ADC的一部分特性…

CatBoost 完整解析:类别特征友好的梯度提升框架

1️⃣ 什么是 CatBoost?CatBoost(Categorial Boosting)是由 Yandex(俄罗斯搜索引擎公司)开源的梯度提升框架,专为类别特征处理优化。核心特点:无需手动 one-hot / LabelEncoding,原生…

NDBmysql-cluster集群部署脚本

NDB(Network Database)是MySQL Cluster的核心存储引擎,专为高可用性、高吞吐量、分布式数据存储设计,采用内存计算+磁盘持久化架构,支持跨节点数据分片与自动冗余,适用于对实时性和可靠性要求严苛的业务场景(如金融交易、电信计费、实时分析等)。 今天大白鼠就分享构建…

计算机网络中的socket是什么?编程语言中的socket编程又是什么?python的socket编程又该如何用?

1. 计算机网络中的 Socket 是什么? 想象一下电话系统: 电话插座 (Socket): 是墙上的一个物理接口,它本身不是通话,但它是建立通话连接的端点。你需要把电话线插进插座才能打电话。通话 (Connection): 是两台…

【科普】进程与线程的区别

一、定义与概念:进程:进程是执行中的一段程序。一旦程序被载入到内存中并准备执行,就变成了一个进程。进程是表示资源分配的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。线程:线程是进程中…

Conda创建虚拟环境,解决不同项目的冲突!

随着需求的增多,又要增加多几个不同的项目来在本地测试,这个时候往往就会遇到 不同项目的Python版本不同等等一系列问题,只好请出Conda来帮忙。 一、先去下载安装一下Conda Conda | Anaconda.org 安装完后,需要给CONDA做个环境变…

RK3568下的进程间广播通信:用C语言构建简单的中心服务器

最近的项目中需要实现这样一个功能,就是一个进程A发消息,进程B和进程C都能收到相同的消息,同样,进程B发消息,进程A和进程C也都能收到消息,就像下图中的描述。 使用一个中心服务器作为消息转发枢纽,所有客户端连接到服务器,发送消息到服务器后,服务器再将消息转发给所有…

激光雷达/相机一体机 时间同步和空间标定(1)

一、参考链接 海康威视、LIVOX与PTP时间同步_海康相机ptp同步-CSDN博客 基于PTP实现主机与相机系统时钟同步功能_ptp同步-CSDN博客

嵌入式系统的中断控制器(NVIC)

1. NVIC的核心功能 核心价值:NVIC通过硬件级中断管理、自动状态处理及低延迟优化,为实时系统提供确定性响应,是Cortex-M芯片实时性的基石。 中断优先级管理 支持多级可编程优先级(通常4-8位,如STM32用4位实现16级优先级…

【源力觉醒 创作者计划】2025年国产AI模型深度测评:文心大模型4.5、DeepSeek、Qwen3能力大比拼

文章目录引言:AI大模型的新时代一、模型架构与技术生态对比1. 文心大模型4.5系列2. DeepSeek3. 通义千问(Qwen 3.0)二、语言理解能力实测2.1 情感分析测试2.1.1 文心一言的表现2.1.2 DeepSeek的表现2.1.3 Qwen 3.0的表现2.1.4 测试结果分析2.…

从C++0基础到C++入门(第十五节:switch语句)

一. switch语句1.1 语法结构如下:switch (表达式) {case 常量1:// 代码块1break;case 常量2:// 代码块2break;default:// 默认代码块 }1.2 注意 :表达式必须是整型或枚举类型(如int、char)。case后的常量必须与表达式类型兼容。学…

编程与数学 03-002 计算机网络 16_网络编程基础

编程与数学 03-002 计算机网络 16_网络编程基础一、网络编程的基本概念(一)客户端与服务器模型(二)套接字(Socket)编程的基本原理二、基于TCP的网络编程(一)TCP套接字的创建与使用&a…

在纯servlet项目中,使用@WebFilter定义了多个filter,如何设置filter的优先级

在纯 Servlet 项目中,WebFilter 注解本身并不提供直接的属性来设置过滤器的优先级(如过滤器执行的顺序)。但是,你可以通过以下几种方式来控制过滤器的执行顺序:1. 通过 web.xml 配置过滤器的顺序在 web.xml 中&#xf…

关于鸦片战争的历史

19世纪,英国东印度公司获得了鸦片贸易的垄断权,而犹太人是东印度公司的主要投资人之一,英国东印度公司又将鸦片经营权外包给了犹太人。其中,塞法迪犹太人控制了主要的鸦片交易,著名的沙逊家族就是当时臭名昭著的犹太鸦…

Maven - 并行安全无重复打包构建原理揭秘

作者:唐叔在学习 专栏:唐叔的Java实践 标签: #Maven并行构建 #Maven多线程打包 #Java构建优化 #Maven性能调优 #CI/CD加速 #Maven反应堆原理 #避免重复编译 #高并发构建 文章目录一、遇到问题:并行打包会不会翻车?二、…

phpyun人才系统v7.1使用升级补丁怎么从授权版升级至vip版?我说下我的技巧有资源的可以看过来,这样就不用花钱麻烦官方了,新版本照样支持小程序源码

前:这个方法我只在Phpyun 的7.x系列使用过,低于这个版本的我暂时没有研究过,我感觉大同小异! 一. 升级前提条件 无论现在你使用的是商业版还是学习版 想垮系列升级你必须有对应的升级补丁,比如说你是授权版或旗舰版 想升级到最新的…

P13014 [GESP202506 五级] 最大公因数

题目描述对于两个正整数 a,b,他们的最大公因数记为 gcd(a,b)。对于 k>3 个正整数 c1​,c2​,…,ck​,他们的最大公因数为:gcd(c1​,c2​,…,ck​)gcd(gcd(c1​,c2​,…,ck−1​),ck​)给定 n 个正整数 a1​,a2​,…,an​ 以及 q 组询问。对…

【机器学习-4】 | 集成学习 / 随机森林篇

集成学习与随机森林学习笔记 0 序言 本文将系统介绍Bagging、Boosting两种集成学习方法及随机森林算法,涵盖其原理、过程、参数等内容。通过学习,你能理解两种方法的区别,掌握随机森林的随机含义、算法步骤、优点及关键参数使用,明…