ESP32中esp-idf框架使用SPI接口SD卡

ESP32  ·  2025-04-29

介绍在ESP32上使用ESP-IDF框架操作SPI接口的SD卡;

1、建立项目

从官方的ESP-IDF SDK中复制项目示例(这里使用的IDF版本为5.4.1):

cp xx/esp-idf/examples/storage/sd_card/sdspi ./ -r 
2、硬件连接

因为ESP32上的某些引脚用于其他用途如Strapping 管脚、模组集成的PSRAM及SPI Flash、JTag引脚等,因此在连接时候尽量不使用这些,具体说明可以查看官方文档:

ESP32 GPIO说明:GPIO & RTC GPIO - ESP32 - — ESP-IDF 编程指南 v5.4.1 文档

ESP32-S3 GPIO说明:GPIO & RTC GPIO - ESP32 - — ESP-IDF 编程指南 v5.4.1 文档

如下为ESP32的Strapping引脚说明:

image-20250429071953347.png

根据上面文档,这里连接如下:

  • ESP32-S3
ESP32SD-Card
3.3V3v3
GNDGND
4MISO
6MOSI
7SCK
8CS
  • ESP32
ESP32SD-Card
3.3V3v3
GNDGND
19MISO
21MOSI
22SCK
23CS
3、更改软件配置

根据上面硬件连接同时软件也需要进行更改引脚设置:

  • 设置硬件型号

使用如下命令设置对应硬件:

idf.py set-target esp32-s3

如果是ESP32则设置为set-target ESP32;

  • 设置引脚

使用menuconfig配置引脚:

idf.py menuconfig

先选择SD卡示例菜单:

image-20250429074418492.png

然后更改引脚:

image-20250429074435017.png

3、查看结果
  • 编译程序然后烧写到开发板
idf.py build
idf.py flash -p /dev/ttyACM0
  • 查看日志
idf.py monitor 

可以看到如下LOG,表示成功执行SD卡的读写操作:

image-20250429074301137.png

评论
MonkeyPi. All Rights Reserved.

ICP粤ICP备19095914号-2