/*
Эта программа - демонстрация работы SD-карты.
Для запуска необходимо запустить симуляцию. Далее программа
открывает прикрепленный файл wokwi.txt и выводит его
содержимое в консоль.
*/
#include <SD.h>
#define CS_PIN 10
File root;
void PrintDirectory(File dir, int numTabs) {
int line = 1;
while (1) {
File entry = dir.openNextFile();
if (!entry) {
break;
}
for (byte i = 0; i < numTabs; i++) {
Serial.print('\t');
}
Serial.print((String)line + ". ");
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
PrintDirectory(entry, numTabs + 1);
} else {
Serial.print("\t\t");
Serial.println((String)entry.size() + "\tBYTES");
}
line++;
entry.close();
}
}
void setup() {
Serial.begin(9600);
Serial.print("Initializing SD card...\n");
int line = 1;
if(!SD.begin(CS_PIN)) {
Serial.println("Card initialization failed.");
while(true);
}
Serial.println("Done...\n");
Serial.println("Files in the card:\n");
root = SD.open("/");
PrintDirectory(root, 0);
Serial.println("");
File fin = SD.open("wokwi.txt");
if (fin) {
Serial.print("File " + (String)fin.name() + " contains:\n\n");
while (fin.available()) {
Serial.write(fin.read());
}
} else {
Serial.print("Can not open this file.");
}
fin.close();
}
void loop() {}