ESP32- 項目應用1 音樂播放器之sd的驅動配置 #1

音樂播放器

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兩種集成學習方法及隨機森林算法,涵蓋其原理、過程、參數等內容。通過學習,你能理解兩種方法的區別,掌握隨機森林的隨機含義、算法步驟、優點及關鍵參數使用,明…