esp32s3驱动sd卡,基于arduio架构
·
2025.9.17卡了一下午,终于搞出来一个可以供esp32s3使用的sd卡驱动模块。ps:有时候要选择对的sd卡驱动模块。
#include <SD.h>
#include <SPI.h>
#define SD_CS 39
#define SD_MOSI 40
#define SD_MISO 42
#define SD_SCK 41
// 文件操作参数
const char* FILE_NAME = "/testfile1.txt";
const char* FILE_CONTENT = "This is a test file content for SD card read/write demonstration.";
// 写入文件到SD卡
void writeFileToSD() {
File file = SD.open(FILE_NAME, FILE_WRITE);
if (!file) {
Serial.println("创建文件失败");
return;
}
// 写入内容
size_t bytesWritten = file.print(FILE_CONTENT);
file.close();
Serial.print("成功写入文件: ");
Serial.println(FILE_NAME);
Serial.print("写入字节数: ");
Serial.println(bytesWritten);
}
// 从SD卡读取文件
void readFileFromSD() {
File file = SD.open(FILE_NAME);
if (!file) {
Serial.println("打开文件失败");
return;
}
Serial.println("\n文件内容:");
// 逐字节读取并打印
while (file.available()) {
Serial.write(file.read());
}
file.close();
}
void setup() {
Serial.begin(115200);
delay(1000);
// 初始化SPI和SD卡
SPI.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
if (!SD.begin(SD_CS, SPI)) {
Serial.println("SD卡初始化失败");
while (1); // 卡住等待检查
}
Serial.println("SD卡初始化成功");
// 执行文件操作
writeFileToSD();
readFileFromSD();
}
void loop() {
// 空循环
}
更多推荐


所有评论(0)