diff --git a/libraries/SD/examples/Datalogger/Datalogger.pde b/libraries/SD/examples/Datalogger/Datalogger.pde index 1e8fbc708..2e22015c1 100644 --- a/libraries/SD/examples/Datalogger/Datalogger.pde +++ b/libraries/SD/examples/Datalogger/Datalogger.pde @@ -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) { diff --git a/libraries/SD/examples/Files/Files.pde b/libraries/SD/examples/Files/Files.pde index ca72e2193..3376c6e50 100644 --- a/libraries/SD/examples/Files/Files.pde +++ b/libraries/SD/examples/Files/Files.pde @@ -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 -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. } diff --git a/libraries/SD/examples/ReadWrite/ReadWrite.pde b/libraries/SD/examples/ReadWrite/ReadWrite.pde index 3dc4cf19c..4fe531ab9 100644 --- a/libraries/SD/examples/ReadWrite/ReadWrite.pde +++ b/libraries/SD/examples/ReadWrite/ReadWrite.pde @@ -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 -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 }