В течение нескольких месяцев работала плата ESP32 Wroom, производящая опрос нескольких датчиков температуры, СО2, влажности и освещенности. Опрос производился каждые 10 минут по millis и результат записывался в SD. Работало подсоединение к WiFi и по запросу содержимое, записанное ранее на SD, выводилось в окно WEB. Наблюдались изредка сбои случайные или из-за сбоев электросети. Плата висела на зарядном устройстве через USB вход. После сбоев работа восстанавливалась автоматически или принудительно кнопкой Restart. Примерно неделю назад восстановить работу платы не удалось. Разбор ситуации показал, что произошло изменение содержания карты SM, при подключении ее к ПК содержимое отображалась кракозябрами (типа cоv ╦бf.8kn или ▌_0=_p<▀.u<┴), раскрыть содержимое файлов или передача их куда-либо не удавалось “файл не найден”.
сбой по питанию во время записи приводит к необратимым явлениям
Может быть изначально в имени файла проблемы?
Имя файла не более восьми латинских букв или цифр.
Расширение не более трех латинских букв или цифр.
Попробуйте переформатировать SD-карту.
Питание должно подаваться СТАБИЛЬНО.
Если нажать кнопку сброса во время записи, то тоже файловая система может запортится.
Спасибо! Но имя и расширение файла работало успешно длительное время. Что касается сбоев или перегрузки во время записи, то как этого избежать. Мои попытки подключить аккумуляторы с диодными развязками и усилением DC закончились вылетом COMport на двух платах одновременно и я эти опыты прекратил.
любая СД карта портится после большого числа перезаписей. Это неизбежно.
Код надо смотреть на предмет, не записывает ли он карту слишком часто и всегда ли вообще нужна запись.
Но полностью предотвратить порчу карт не получится, уж так они устроены.
Встречал пару раз. Забивает рандомными именами нулевого размера. Оба раза пришлось карточку в утиль. Всякие фдиск джипартед и парочка виндовских не помогли.
Значит скорее всего контроллер умирает, а не сама флэш-память.
Удалось на ПК переформатировать карточку, сменив имя метки тома.
Сначала проверьте в деле. Дохлый контроллер может заново похерить таблицу и выдавать пустой мусор.
На ПК карточка работает: запись, перемещение и т.п.