Не закрывается файл на SD карте
- Войдите на сайт для отправки комментариев
Помогите кто силён в этом.
Написал прогу чтения каталога с SD карты с последующим выводом его на экран LCD. После выбора и открытия файла, при повторном чтении каталога, на дисплей выводяться только имена тех файлов что следуют после открытого.
Процедура начинается так:
file.close();
i=printDir(); //количество файлов на карте с выводом каталога
epprom=0;
file.close();
далее в С номер нужного нам файла
name=printDirname(c);
file = SD.open(name); //Имя открываемого файла
И собственно подпрограммки:
вывод на экран каталога(на выходе количество файлов на SDшке)
int printDir() {
File dir=SD.open("/");
key=0;
LCD.print("Input:",0,0);
while(true) {
file = dir.openNextFile();
if (!file) {
// Больше файлов не осталось
file.close();
dir.rewindDirectory();
return(key);}
LCD.printNumI(key,10,(key+1)*11);
LCD.print(")",25,(key+1)*11);
LCD.print(file.name(),38,(key+1)*11);
LCD.printNumI(file.size()/1000,140,(key+1)*11);
file.close();
key++;
}
}
получение имени по номеру файла
char* printDirname(int i) {
File dir=SD.open("/");
key=0;
while(true) {
file = dir.openNextFile();
if (key==i) {
char* name=file.name();
file.close();
dir.rewindDirectory();
return(name);}
key++;
}
}
Помогите пожалуйста, если сможите. Мне это очень важно.
На этом форуме, кто-то может мне помочь? Хотябы админ откликнулся. Дайте хотябы ссылку где можно про это подчитать. :)
Пока вы выкладываете какие-то непонятные куски кода, да и еще не в читабельном виде наврядли кто-то вам поможет. Выложите ВЕСЬ код в нормальном виде и тогда думаю кто-нибудь откликнется...
Вроде переделал. Весь код программы нет смысла выводить (очень большой). Вот моя ася 494002996, если можно помогите!!!