Как удалить содержимое SD-карты в ардуино?
У меня есть файл данных, datalog.txt Я могу открывать, читать и писать, всё классно. Каков наилучший способ удалить все содержимое файла? Должен ли я попробовать переписать файл SD-карты с нулевыми данными? Я читал файл заголовка "SD.h". Я вижу функцию flush() и truncate (). Должен ли я использовать одну из них?
или, может быть, мне следует просто закрыть и снова открыть файл и перезаписать данные. Но я обеспокоен тем, что это может привести к некоторым ошибочным представлениям, если старые данные не будут полностью удалены.
Я использую Teensy 4.1 со встроенной SD-картой.
@j0h, 👍0
Обсуждение1 ответ
Лучший ответ:
Чтобы удалить файл, используйте SD.remove("datalog.txt");
ФАЙЛ_ЗАПИСИ библиотеки SD
-это O_READ | O_WRITE | O_CREAT | O_APPEND
, поэтому он будет добавлен в конце существующего файла.
чтобы начать с пустого файла: Файл file = FS.открыть("datalog.txt", O_READ | O_WRITE | O_CREAT);
ИЗМЕНИТЬ: открытие файла с помощью O_READ | O_WRITE | O_CREAT не удаляет содержимое файла, а только начинает перезаписывать его с самого начала.
- Как увеличить скорость записи на SD-карту в Ардуино
- ESP32 сохранение данных на SD-карту в формате .csv не форматируется правильно
- Использовать карту Micro SD для регистрации данных — плохая идея? Надежно?
- Почему я не могу инициализировать Micro-SD?
- Чтение изображений bmp с SD-карты, преобразование их и отображение на последовательном мониторе в Arduino
- Конфликт между шилдом SD-карты и акселерометром
- ЭБР. Можно ли создать несколько таблиц с помощью db.create()?
- Запись на SD-карту с частотой дискретизации 50 мс или меньше? У меня есть скетч, который записывает в sd каждую 1 секунду, но застревает на более высоких частотах дискретизации. Пожалуйста помоги?
Просто откройте файл. Нет никакого "не полностью удалено"., @Majenko