You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/*
|
|
* 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 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() {}
|