ESP32 и создание экземпляра SD
- Войдите на сайт для отправки комментариев
Ср, 16/03/2022 - 00:43
на mega2560 использовался код:
#include <SD.h> SDClass * mySD = NULL; // ссылка на объект сд карты void setup() { mySD = new SDClass; if (mySD->begin(5)) delete mySD; } void loop() { }
на ESP32 выдаёт ошибку: error: 'SDClass' does not name a type
я понимаю что используется для компиляции другая библиотека, но вот как изменить код, чтобы заработало не хватает знаний. Используется создание объекта во время выполнения для возможности смены SD карты, создавать новый объект было проще всего. Если сможете чтото посоветовать, буду искренне благодарен.
я понимаю что используется для компиляции другая библиотека, но вот как изменить код, чтобы заработало не хватает знаний
В файле SD.h, который компилируется с esp32 есть объявление:
а вот как это применить как раз и не знаю, просто поменять SDClass на SDFS не работает, чтото я делаю не так.
просто поменять SDClass на SDFS не работает, чтото я делаю не так.
в чем выражается "не работает"?
Выразился не корректно, не компилируется:
Ошибки :
посмотрите внимательнее на листинг класса в сообщении #2. Там нет конструктора SDFS() без параметров, о чем вам компилятор и пишет.
Вот как раз суть проблемы, на что и не хватает знаний. Как переделать код под ESP32. Нужно передать конструктору какие то параметры, если конечно класс SDFS это именно тот класс.
В модуле SD.h объявление такое:
соответственно что передавать конструктору не понятно.
Оказывается, надо читать весь код библиотеки а не только один заголовок. Кто бы мог подумать.
В модуле SD.h объявление такое:
соответственно что передавать конструктору не понятно.
это не при делах.
Смотрите на обьявление конструктора:
он требует передачи параметра FSImplPtr. Судя по имени, это должен быть указатель на класс, описывающий файловую систему на СД-карте. Посмотрите, какие в библиотеке описаны файлосистемы и выберите нужную
rkit прав, надо серьезно разбираться в библиотеке, с наскоку не получится
Какие конкретно в этой библиотеке - не смотрел, лениво.
Могут быть: SPIFFS / FAT / FATFS