|
- /*
- * Print size, modify date/time, and name for all files in root.
- */
- #include <SPI.h>
- #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() {}
|