#include <SPI.h>
#include <SD.h>
// 设置SD卡模块的引脚
//#define SD_CS 5 // SD卡片选引脚连接到ESP32的GPIO5
#define SD_CS 5 // SD卡片选引脚连接到ESP32的GPIO5
//SPIClass SPI1(VSPI);
void setup() {
Serial.begin(115200);
// 初始化SPI总线
//SPI.begin(14, 2, 15, 13); // 使用ESP32的VSPI引脚(SCK, MISO, MOSI, SS),SS在这里不使用,因为我们将手动控制SD_CS
SPI.begin(18, 19, 23, SD_CS); // 使用ESP32的VSPI引脚(SCK, MISO, MOSI, SS),SS在这里不使用,因为我们将手动控制SD_CS
// 尝试挂载SD卡
//if (!SD.begin(SD_CS)) {
if (!SD.begin(SD_CS)) {
Serial.println("SD卡初始化失败!");
return;
}
Serial.println("SD卡初始化成功。");
// 打开文件用于写入,如果文件不存在则创建它
File dataFile = SD.open("/test.txt", FILE_WRITE);
// 如果文件打开成功,写入数据
if (dataFile) {
dataFile.println("Hello, World!");
dataFile.println("这是一个测试文件。");
dataFile.close(); // 关闭文件
Serial.println("文件写入成功。");
} else {
Serial.println("打开文件失败!");
}
// 重新打开文件用于读取
dataFile = SD.open("/test.txt");
if (dataFile) {
// 读取文件内容直到文件结束
while (dataFile.available()) {
Serial.write(dataFile.read());
}
dataFile.close(); // 关闭文件
} else {
Serial.println("无法打开文件进行读取!");
}
}
void loop() {
// 此示例中loop函数留空,因为所有操作都在setup函数中完成
}