1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-17 22:23:10 +03:00

updated SD examples with new constants, and commented them

This commit is contained in:
Tom Igoe
2010-12-03 10:35:17 -05:00
parent dce5e09e69
commit 86e3d4ad7a
3 changed files with 106 additions and 34 deletions

View File

@ -13,6 +13,7 @@
** CS - pin 4 ** CS - pin 4
created 24 Nov 2010 created 24 Nov 2010
updated 2 Dec 2010
by Tom Igoe by Tom Igoe
This example code is in the public domain. This example code is in the public domain.
@ -31,8 +32,9 @@ void setup()
{ {
Serial.begin(9600); Serial.begin(9600);
Serial.print("Initializing SD card..."); Serial.print("Initializing SD card...");
// make sure that the default chip select pin is set to
pinMode(10, OUTPUT); // output, even if you don't use it:
// pinMode(10, OUTPUT);
// see if the card is present and can be initialized: // see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) { if (!SD.begin(chipSelect)) {
@ -58,7 +60,7 @@ void loop()
} }
// open the file: // open the file:
File dataFile = SD.open("datalog.txt", true, true); File dataFile = SD.open("datalog.txt", FILE_APPEND);
// if the file is available, write to it: // if the file is available, write to it:
if (dataFile) { if (dataFile) {

View File

@ -1,40 +1,76 @@
/*
SD card basic file example
This example shows how to create and destroy an SD card file
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
updated 2 Dec 2010
by Tom Igoe
This example code is in the public domain.
*/
#include <SD.h> #include <SD.h>
File f; File myFile;
void setup() void setup()
{ {
Serial.begin(9600); Serial.begin(9600);
Serial.print("Initializing SD card..."); Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. Note that even if it's not // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// used as the CS pin, the hardware SS pin (10 on most Arduino boards, // Note that even if it's not used as the CS pin, the hardware SS pin
// 53 on the Mega) must be left as an output or the SD library // (10 on most Arduino boards, 53 on the Mega) must be left as an output
// functions will not work. // or the SD library functions will not work.
if (!SD.begin(4)) { if (!SD.begin(4)) {
Serial.println("failed!"); Serial.println("initialization failed!");
return; return;
} }
Serial.println("done."); Serial.println("initialization done.");
if (SD.exists("example.txt")) Serial.println("example.txt exists."); if (SD.exists("example.txt")) {
else Serial.println("example.txt doesn't exist."); Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// open a new file and immediately close it:
Serial.println("Creating example.txt..."); Serial.println("Creating example.txt...");
f = SD.open("example.txt", true); myFile = SD.open("example.txt", FILE_TRUNCATE);
f.close(); myFile.close();
if (SD.exists("example.txt")) Serial.println("example.txt exists."); // Check to see if the file exists:
else Serial.println("example.txt doesn't exist."); if (SD.exists("example.txt")) {
Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
// delete the file:
Serial.println("Removing example.txt..."); Serial.println("Removing example.txt...");
SD.remove("example.txt"); SD.remove("example.txt");
if (SD.exists("example.txt")) Serial.println("example.txt exists."); if (SD.exists("example.txt")){
else Serial.println("example.txt doesn't exist."); Serial.println("example.txt exists.");
}
else {
Serial.println("example.txt doesn't exist.");
}
} }
void loop() void loop()
{ {
// nothing happens after setup finishes.
} }

View File

@ -1,43 +1,77 @@
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
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
updated 2 Dec 2010
by Tom Igoe
This example code is in the public domain.
*/
#include <SD.h> #include <SD.h>
File f; File myFile;
void setup() void setup()
{ {
Serial.begin(9600); Serial.begin(9600);
Serial.print("Initializing SD card..."); Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. Note that even if it's not // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// used as the CS pin, the hardware SS pin (10 on most Arduino boards, // Note that even if it's not used as the CS pin, the hardware SS pin
// 53 on the Mega) must be left as an output or the SD library // (10 on most Arduino boards, 53 on the Mega) must be left as an output
// functions will not work. // or the SD library functions will not work.
if (!SD.begin(4)) { if (!SD.begin(4)) {
Serial.println("failed!"); Serial.println("initialization failed!");
return; return;
} }
Serial.println("done."); Serial.println("initialization done.");
f = SD.open("test.txt", true, false); // open a file:
if (f) { myFile = SD.open("test.txt", FILE_TRUNCATE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt..."); Serial.print("Writing to test.txt...");
f.println("testing 1, 2, 3."); myFile.println("testing 1, 2, 3.");
f.close(); // close the file:
myFile.close();
Serial.println("done."); Serial.println("done.");
} else { } else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt"); Serial.println("error opening test.txt");
} }
f = SD.open("test.txt"); // re-open the file for reading:
if (f) { myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:"); Serial.println("test.txt:");
while (f.available()) Serial.write(f.read());
f.close(); // read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else { } else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt"); Serial.println("error opening test.txt");
} }
} }
void loop() void loop()
{ {
// nothing happens after setup
} }