Sd карта, чтение корневого каталога
- Войдите на сайт для отправки комментариев
Чт, 02/09/2021 - 20:36
Доброго времени суток.
На карте записано несколько текстовых фалов.
Читаю их названия и вывожу в сериал.
После открытия одного из файлов опять открываю корневой каталог, но файла, который открывался, уже не видно.
Это особенность организации sd карты или есть ошибка ?
#include <SPI.h>
#include <SD.h>
File root;
String folder_names = "";
String setName = "";
char folder_open_array[10];
int8_t folder_number = 0;
int8_t folder_counter = 0;
void setup()
{
Serial.begin(9600);
SD.begin(53);
READ_FOLDER();
Serial.print(" ");
Serial.println();
delay(1000);
DUMP_FILE();
Serial.print(" ");
Serial.println();
delay(1000);
READ_FOLDER();
}
void loop()
{
}
////////////////////////////////////////////////////////////
void DUMP_FILE()
{
File dataFile = SD.open(folder_open_array);
if (dataFile)
{
while (dataFile.available())
{
Serial.write(dataFile.read());
}
dataFile.close();
}
}
////////////////////////////////////////////////////////////
void READ_FOLDER()
{
root = SD.open("/");
boolean files = true;
while (files)
{
File entry = root.openNextFile();
if (! entry)
{
files = false;
break;
}
else
{
int i = 0;
setName = "";
///////////////////////////////////////////////////
folder_names += entry.name();
if (folder_names[i] != '\n')
{
setName = folder_names;
folder_names = "";
Serial.print(" ");
Serial.print(folder_number);
Serial.print(" ");
Serial.println(setName);
if (folder_number == folder_counter)
{
setName.toCharArray(folder_open_array, 10);
}
folder_number ++;
}
}
}
folder_number = 0;
root.close();
}
В мониторе порта
0 FILE1.TXT
1 FILE2.TXT
2 FILE3.TXT
3 FILE4.TXT
4 FILE5.TXT
133
1235
0 FILE2.TXT
1 FILE3.TXT
2 FILE4.TXT
3 FILE5.TXT
камень какой?
дуня mega.