формат arduino и SD-карта с esp32 как fat32, которая подключена как хост SDMMC

Я пытаюсь отформатировать SD-карту с помощью ESP32, подключенного к SD-карте в качестве хоста SDMMC. Я хотел бы выяснить, как отформатировать его как FAT32 в рамках Arduino. Кто-нибудь знает, возможно ли это сделать в рамках Arduino? Я могу создавать, читать, записывать и удалять файлы, но не могу понять, как отформатировать SD-карту.

Я считаю, что это возможно с помощью ESPIDF от Espressif, но я не могу понять, как заставить это работать в Arduino. На следующей странице описаны основы работы с SD-картой, подключенной в качестве хоста SDMMC:

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/sdmmc_host.html

Это не распространяется на то, как отформатировать SD-карту, подключенную таким образом. Я хотел бы предложить более подробную информацию об этом, но я не знаю, с чего начать. Любая помощь приветствуется.

Кто-то предположил, что это может работать в espidf:

      #include "esp_vfs_fat.h"
#include "driver/sdmmc_host.h"
#include "sdmmc_cmd.h"
#include "SD.h"

void setup() {
  Serial.begin(115200);

  // Initialize SDMMC host driver
  sdmmc_host_t host = SDMMC_HOST_DEFAULT();
  sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
  esp_vfs_fat_sdmmc_mount_config_t mount_config = {
    .format_if_mount_failed = true,
    .max_files = 5,
    .allocation_unit_size = 16 * 1024
  };
  sdmmc_card_t* card;
  esp_err_t err = esp_vfs_fat_sdmmc_mount("/sdcard", &host, &slot_config, &mount_config, &card);

  if (err != ESP_OK) {
    Serial.printf("Failed to mount SD card (%s)\n", esp_err_to_name(err));
    return;
  }

  Serial.println("SD card mounted successfully");

  // List files in root directory
  File root = SD.open("/");
  File file = root.openNextFile();
  while (file) {
    Serial.println(file.name());
    file = root.openNextFile();
  }
}

void loop() {
  
}

0 ответов

Другие вопросы по тегам