/* * 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 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(); } // Open next file in root. The volume working directory, vwd, is root. // Warning, openNext starts at the current position of sd.vwd() so a // rewind may be neccessary in your application. sd.vwd()->rewind(); while (file.openNext(sd.vwd(), O_READ)) { 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(); } Serial.println("Done!"); } //------------------------------------------------------------------------------ void loop() {}