/*
SD card read/write
La tarjeta SD se conecta vía el bus SPI:
MOSI/SDI/DIN -- pin 11
MISO/SDO/DOUT -- pin 12
CLK/SCK/SCLK -- pin 13
CS/SS/SDA -- pin 4
La librería incorpora funciones para el manejo de archivos y directorios
mediante el objeto SD:
SD.begin(cspin); // Iniciar la SD
SD.exists(filename); // Comprobar si existe un archivo (devuelve true)
SD.remove(filename); // Borrar un archivo
SD.open(filepath, mode); // Abrir un archivo, FILE_READ (R), FILE_WRITE (RW)
SD.mkdir(directory); // Crear un directorio
SD.rmdir(dirname); // Eliminar un directorio
La librería incorpora funciones para la lectura y escritura de archivos
mediante el objeto File:
file.size() // Devuelve el tamaño de un archivo
file.available() // Comprueba si quedan bytes por leer
file.read() // Leer un byte del archivo
file.write(data) // Escribir un byte en el archivo
file.print(data) // Escribir una variable en un archivo
file.position() // Obtener el punto de lectura/escritura actual
file.seek(pos) // Mover el punto de lectura/escritura actual
// Pos: Debe estar entre 0 y file.size()
file.close() // Cerrar el archivo
https://www.luisllamas.es/tarjeta-micro-sd-arduino/
*/
#include <SPI.h>
#include <SD.h>
File miArchivo;
void setup() {
Serial.begin(9600);
Serial.print("Inicializando la tarjeta SD... ");
if (!SD.begin(4)) {
Serial.println("falló!");
while (1)
;
}
Serial.println("listo.");
// Abrir el archivo. Sólo es posible abrir un archivo a la vez
miArchivo = SD.open("pruebas.txt", FILE_WRITE);
if (miArchivo) {
Serial.print("Escribiendo en pruebas.txt... ");
miArchivo.println("1, 2, 3... Probando");
miArchivo.close();
Serial.println("listo.");
} else {
Serial.println("error al abrir pruebas.txt");
}
// Abrir el archivo para lectura
miArchivo = SD.open("pruebas.txt");
if (miArchivo) {
Serial.println("Contenido de \"pruebas.txt\":");
while (miArchivo.available()) {
Serial.write(miArchivo.read());
}
miArchivo.close();
} else {
Serial.println("error abriendo pruebas.txt");
}
}
void loop() {}