Arduino SD подсчитывает файлы и открывает их последним, как это сделать?
Я пытаюсь подсчитать файлы. У меня есть один скрытый файл из Windows10, поэтому я делаю "-1", но я хочу открыть последний файл и не могу понять, как, любая помощь? Пожалуйста, Спасибо
#include <SD.h>
int entryCount = 0;
File root;
int total = 0;
int Lfile = 0;
void setup()
{
Serial.begin(9600);
pinMode(10, OUTPUT);
SD.begin(4);
root = SD.open("/");
printDirectory(root, 0);
root.close();
Serial.println();
Serial.print(total-1);
Lfile = total-1;
File dataFile = SD.open(Lfile);
// если файл доступен, пишем в него:
if (dataFile) {
while (dataFile.available()) {
Serial.write(dataFile.read());
}
dataFile.close();
}
// если файл не открыт, появится сообщение об ошибке:
else {
Serial.println();
Serial.println("error opening last file");
}
}
void loop()
{
// после завершения установки ничего не происходит.
}
void printDirectory(File dir, int numTabs)
{
while (true)
{
File entry = dir.openNextFile();
if (! entry)
{
if (numTabs == 0)
return;
}
for (uint8_t i = 0; i < numTabs; i++)
Serial.print('\t');
Serial.println(entry.name());
total = entryCount;
Serial.print(entryCount++);
Serial.print('\t');
entry.close();
}
}
@Egauss Egauss, 👍1
Обсуждение1 ответ
▲ 1
Рассмотрите возможность использования метода exist (), найденного в библиотеке SD.h, которую вы уже включили в свою программу. Предполагая, что вы создадите не более 99 файлов, а последний созданный файл будет иметь наибольшее 2-значное значение в своем имени, проверьте наличие файла log99.txt. Если не найдено, уменьшите 2-значное число и проверьте наличие файла log98.txt. Повторяйте этот процесс до тех пор, пока не найдете самый новый созданный файл.
,
@st2000
Смотрите также:
- Редактирование определенной позиции в файле, хранящемся на SD-карте
- Есть ли способ снять ограничение имени файла 8.3 в библиотеке SD.h?
- Как **получить** атрибуты для файлов SD?
- SD - карта создает "лишний" файл?
- Arduino не записывает полное предложение NMEA в файл SD-карты
- Возврат в родительский каталог с библиотекой SD
- Дополнительный файл `eecfbba=.@aa` на SD-карте
- Как использовать SD-карту, RFID-считыватель и ЖК - дисплей вместе?
что значит "последний файл"?, @jsotola
SD карта имеет файлы log01.txt, log02.txt, и т.д. Последний файл-это последний файл, который был создан, @Egauss Egauss