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.