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
created 24 Nov 2010
updated 2 Dec 2010
by Tom Igoe
This example code is in the public domain.
@ -31,8 +32,9 @@ void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
pinMode(10, OUTPUT);
// make sure that the default chip select pin is set to
// output, even if you don't use it:
// pinMode(10, OUTPUT);
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
@ -58,7 +60,7 @@ void loop()
}
// 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 (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>
File f;
File myFile;
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. 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.
// 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.
if (!SD.begin(4)) {
Serial.println("failed!");
Serial.println("initialization failed!");
return;
}
Serial.println("done.");
if (SD.exists("example.txt")) Serial.println("example.txt exists.");
else Serial.println("example.txt doesn't exist.");
Serial.println("initialization done.");
if (SD.exists("example.txt")) {
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...");
f = SD.open("example.txt", true);
f.close();
myFile = SD.open("example.txt", FILE_TRUNCATE);
myFile.close();
if (SD.exists("example.txt")) Serial.println("example.txt exists.");
else Serial.println("example.txt doesn't exist.");
// Check to see if the file exists:
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...");
SD.remove("example.txt");
if (SD.exists("example.txt")) Serial.println("example.txt 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.");
}
}
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>
File f;
File myFile;
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. 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.
// 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.
if (!SD.begin(4)) {
Serial.println("failed!");
Serial.println("initialization failed!");
return;
}
Serial.println("done.");
Serial.println("initialization done.");
f = SD.open("test.txt", true, false);
if (f) {
// open a file:
myFile = SD.open("test.txt", FILE_TRUNCATE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
f.println("testing 1, 2, 3.");
f.close();
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
f = SD.open("test.txt");
if (f) {
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
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 {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop()
{
// nothing happens after setup
}