Я пытаюсь удалить самый старый файл с SD-карты с помощью SdFat, но безуспешно
Я нашел эту функцию на форумах Arduino Здесь
void deleteOldestFile(){
SdFile dirFile;
SdFile file;
SdFile oldestFile;
dir_t dir;
uint32_t oldestModified = 0xFFFFFFFF;
uint32_t lastModified;
if (!dirFile.open("/", O_READ)) {
sd.errorHalt("open root failed");
}
while (file.openNext(&dirFile, O_WRITE)) {
// Skip directories and hidden files.
if (!file.isSubDir() && !file.isHidden()) {
file.dirEntry(&dir);
lastModified = (uint16_t (dir.lastWriteDate) << 16 | dir.lastWriteTime);
if (lastModified < oldestModified ) {
oldestModified = lastModified;
oldestFile = file;
}
}
file.close();
}
if(!oldestFile.remove()) Serial.println("failed");
dirFile.close();
}
но я получаю сообщение "сбой", когда эта функция запускает какие-либо идеи, почему и как решить эту проблему?
РЕДАКТИРОВАТЬ: я могу использовать удалить как это:
char delChar[13] = {0};
...
Serial.print("oldest: ");
oldestFile.printName();
oldestFile.getName(delChar,13);
Serial.println();
Serial.print("delchar: ");
Serial.println(delChar);
if(!sd.remove(delChar)) Serial.println("fail");
dirFile.close();
но file.remove()
все еще не работает