/* * Print size, modify date/time, and name for all files in root. */ #include #include "SdFat.h" // SD default chip select pin. const uint8_t chipSelect = SS; // file system object SdFat sd; SdFile root; SdFile file; //------------------------------------------------------------------------------ void setup() { Serial.begin(9600); // Wait for USB Serial while (!Serial) { SysCall::yield(); } Serial.println("Type any character to start"); while (!Serial.available()) { SysCall::yield(); } // Initialize at the highest speed supported by the board that is // not over 50 MHz. Try a lower speed if SPI errors occur. if (!sd.begin(chipSelect, SD_SCK_MHZ(50))) { sd.initErrorHalt(); } if (!root.open("/")) { sd.errorHalt("open root failed"); } // Open next file in root. // Warning, openNext starts at the current directory position // so a rewind of the directory may be required. while (file.openNext(&root, O_RDONLY)) { file.printFileSize(&Serial); Serial.write(' '); file.printModifyDateTime(&Serial); Serial.write(' '); file.printName(&Serial); if (file.isDir()) { // Indicate a directory. Serial.write('/'); } Serial.println(); file.close(); } if (root.getError()) { Serial.println("openNext failed"); } else { Serial.println("Done!"); } } //------------------------------------------------------------------------------ void loop() {}