mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
This includes empty stubs for most core Arduino functions. Need to actually implement all those digital reads writes whatever. Need to prebuild toolchains (xtensa-elf-lx106) for 3 platforms and put them on some download server. Need to do the same with esptool. Need to fix 0x40000 binary generation and add correct upload commands. Maybe even implement uploads over WiFi.
88 lines
1.7 KiB
C++
88 lines
1.7 KiB
C++
/*
|
|
Listfiles
|
|
|
|
This example shows how print out the files in a
|
|
directory on a SD card
|
|
|
|
The circuit:
|
|
* SD card attached to SPI bus as follows:
|
|
** MOSI - pin 11
|
|
** MISO - pin 12
|
|
** CLK - pin 13
|
|
** CS - pin 4
|
|
|
|
created Nov 2010
|
|
by David A. Mellis
|
|
modified 9 Apr 2012
|
|
by Tom Igoe
|
|
modified 2 Feb 2014
|
|
by Scott Fitzgerald
|
|
|
|
This example code is in the public domain.
|
|
|
|
*/
|
|
#include <SPI.h>
|
|
#include <SD.h>
|
|
|
|
File root;
|
|
|
|
void setup()
|
|
{
|
|
// Open serial communications and wait for port to open:
|
|
Serial.begin(9600);
|
|
while (!Serial) {
|
|
; // wait for serial port to connect. Needed for Leonardo only
|
|
}
|
|
|
|
Serial.print("Initializing SD card...");
|
|
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
|
|
// Note that even if it's not used as the CS pin, the hardware SS pin
|
|
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
|
|
// or the SD library functions will not work.
|
|
pinMode(10, OUTPUT);
|
|
|
|
if (!SD.begin(4)) {
|
|
Serial.println("initialization failed!");
|
|
return;
|
|
}
|
|
Serial.println("initialization done.");
|
|
|
|
root = SD.open("/");
|
|
|
|
printDirectory(root, 0);
|
|
|
|
Serial.println("done!");
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
// nothing happens after setup finishes.
|
|
}
|
|
|
|
void printDirectory(File dir, int numTabs) {
|
|
while(true) {
|
|
|
|
File entry = dir.openNextFile();
|
|
if (! entry) {
|
|
// no more files
|
|
break;
|
|
}
|
|
for (uint8_t i=0; i<numTabs; i++) {
|
|
Serial.print('\t');
|
|
}
|
|
Serial.print(entry.name());
|
|
if (entry.isDirectory()) {
|
|
Serial.println("/");
|
|
printDirectory(entry, numTabs+1);
|
|
} else {
|
|
// files have sizes, directories do not
|
|
Serial.print("\t\t");
|
|
Serial.println(entry.size(), DEC);
|
|
}
|
|
entry.close();
|
|
}
|
|
}
|
|
|
|
|
|
|