75 lines
1.7 KiB
Arduino
75 lines
1.7 KiB
Arduino
#include "pincfg.h"
|
|||
|
|
|
||
|
|
#include "SD_MMC.h"
|
||
|
|
// #include "FS.h"
|
||
|
|
|
||
|
|
void listDir(fs::FS &fs, const char *dirname, uint8_t levels) {
|
||
|
|
Serial.printf("Listing directory: %s\n", dirname);
|
||
|
|
|
||
|
|
File root = fs.open(dirname);
|
||
|
|
if (!root) {
|
||
|
|
Serial.println("Failed to open directory");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if (!root.isDirectory()) {
|
||
|
|
Serial.println("Not a directory");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
File file = root.openNextFile();
|
||
|
|
while (file) {
|
||
|
|
if (file.isDirectory()) {
|
||
|
|
Serial.print(" DIR : ");
|
||
|
|
Serial.println(file.name());
|
||
|
|
if (levels) {
|
||
|
|
listDir(fs, file.path(), levels - 1);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
Serial.print(" FILE: ");
|
||
|
|
Serial.print(file.name());
|
||
|
|
Serial.print(" SIZE: ");
|
||
|
|
Serial.println(file.size());
|
||
|
|
}
|
||
|
|
file = root.openNextFile();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void setup() {
|
||
|
|
delay(200);
|
||
|
|
Serial.begin(115200);
|
||
|
|
|
||
|
|
// Configure the SDMMC host
|
||
|
|
SD_MMC.setPins(SD_MMC_CLK_PIN, SD_MMC_CMD_PIN, SD_MMC_D0_PIN, SD_MMC_D1_PIN, SD_MMC_D2_PIN, SD_MMC_D3_PIN);
|
||
|
|
|
||
|
|
if (!SD_MMC.begin()) {
|
||
|
|
Serial.println("Card Mount Failed");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
uint8_t cardType = SD_MMC.cardType();
|
||
|
|
if (cardType == CARD_NONE) {
|
||
|
|
Serial.println("No SD card attached");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
Serial.println("SD Card initialized successfully.");
|
||
|
|
|
||
|
|
Serial.print("SD_MMC Card Type: ");
|
||
|
|
if (cardType == CARD_MMC) {
|
||
|
|
Serial.println("MMC");
|
||
|
|
} else if (cardType == CARD_SD) {
|
||
|
|
Serial.println("SDSC");
|
||
|
|
} else if (cardType == CARD_SDHC) {
|
||
|
|
Serial.println("SDHC");
|
||
|
|
} else {
|
||
|
|
Serial.println("UNKNOWN");
|
||
|
|
}
|
||
|
|
|
||
|
|
uint64_t cardSize = SD_MMC.cardSize() / (1024 * 1024);
|
||
|
|
Serial.printf("SD_MMC Card Size: %lluMB\n", cardSize);
|
||
|
|
|
||
|
|
listDir(SD_MMC, "/", 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
void loop() {
|
||
|
|
}
|