on SDIO Mode
Code: Select all
// SDIO
#define SD_CLK 11
#define SD_CMD 14
#define SD_DAT0 9
#define SD_DAT1 13
#define SD_DAT2 42
#define SD_DAT3 12
#include "SD_MMC.h"
void setup()
{
Serial.begin(115200);
while (!Serial)
;
delay(3000);
SD_MMC.setPins(SD_CLK, SD_CMD, SD_DAT0, SD_DAT1, SD_DAT2, SD_DAT3);
if (!SD_MMC.begin("/sdcard", true))
{ // second param = 1-bit mode
Serial.println("Card Mount Failed");
return;
}
uint8_t cardType = SD_MMC.cardType();
Serial.print("SD 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");
}
void loop()
{
// do nothing
}
Code: Select all
E (3028) sdmmc_io: sdmmc_io_reset: unexpected return: 0x108
E (3028) vfs_fat_sdmmc: sdmmc_card_init failed (0x108).
[ 3151][E][SD_MMC.cpp:148] begin(): Failed to initialize the card (0x108). Make sure SD card lines have pull-up resistors in place.
Card Mount Failed
Code: Select all
#define SD_CS 12 // DAT3 - MicroSD - 2
#define SD_MOSI 14 // CMD - MicroSD - 3
#define SD_MISO 9 // DATO - MicroSD - 7
#define SD_SCLK 11 // CLK - MicroSD - 5
#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
SPIClass SPISD(HSPI);
void setup() {
Serial.begin(115200);
while(!Serial);
Serial.println("=== SPI SD Test ===");
// Initialize SPI
SPISD.begin(SD_SCLK, SD_MISO, SD_MOSI, SD_CS);
// Slow frequency for init
SPISD.setFrequency(400000); // 400 kHz for initialization
if (!SD.begin(SD_CS, SPISD)) {
Serial.println("❌ SPI SD Card init failed");
return;
}
Serial.println("✅ SPI SD Card initialized!");
}
void loop() {
// Empty
}
Code: Select all
[ 3325][W][sd_diskio.cpp:174] sdCommand(): no token received
[ 3425][W][sd_diskio.cpp:174] sdCommand(): no token received
[ 3524][E][sd_diskio.cpp:199] sdCommand(): Card Failed! cmd: 0x00
[ 3525][W][sd_diskio.cpp:516] ff_sd_initialize(): GO_IDLE_STATE failed
[ 3525][E][sd_diskio.cpp:805] sdcard_mount(): f_mount failed: (3) The physical drive cannot work
[ 3534][W][sd_diskio.cpp:174] sdCommand(): no token received
[ 3640][W][sd_diskio.cpp:174] sdCommand(): no token received
[ 3741][W][sd_diskio.cpp:174] sdCommand(): no token received
[ 3841][E][sd_diskio.cpp:199] sdCommand(): Card Failed! cmd: 0x00
❌ SPI SD Card init failed
Schematics: https://github.com/espressif/esp-box/bl ... 230922.pdf
