Чтение последнего записанного файла на sd карту

vvadim
Offline
Зарегистрирован: 23.05.2012

записываю ан sd карту несколько текстовых файлов.

по примерам из библиотеки SD у меня получается вывести в сериал или все записанные файлы или только самый первый записанный по времени.
а вот вывести последний записанный никак не могу.

кто нибудь сталкивался с подобной задачей ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Файловая система устроена так, что отдает файлы по очереди, начиная с первого (не обязательно в хронологическом порядке).

Поэтому файлы все равно придется перебрать все, другое дело, что их, кроме последнего, не нужно считывать и отправлять в Serial.

vvadim
Offline
Зарегистрирован: 23.05.2012

Хорошо. listfiles я перебрал все файлы с первого до последнего. как мне определить какой последний ?

Думал организовать нумерацию файлов, но создаются они не регулярно да ещё в течении дня, соответствующего его созданию, могут несколько раз переписываться.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А как бы вы решили эту задачу, если бы вместо контроллера просматривали список файлов сами?

Вот точно так же должен поступать и контроллер.Е

сли есть уверенность, что последний будет и последним в списке - достаточно просто дойти до конца.

Если в списке файлы могут быть неупорядочены по времени, то, просматривая список, запоминаем файл с максимальным временем создания.

vvadim
Offline
Зарегистрирован: 23.05.2012

файлы упорядочены по времени создания.
Как просматривать список по времени создания (оно в названиях файла ) пока не могу придумать.

vvadim
Offline
Зарегистрирован: 23.05.2012

проблему решил с библиотекой SdFat на основе примера LongFileName.