#include <EEPROM.h>
int entero = 196;
float flotante = 3.141592;
char cadena[] = "Esta es una prueba.";
void setup() {
Serial.begin(9600);
Serial.print("Capacidad de memoria: ");
Serial.println(EEPROM.length()); // Arduino UNO tiene 1024 bytes de capacidad
Serial.println(" ");
Serial.print("Valor inicial almacenado en dirección 0: ");
Serial.println( EEPROM.read(0));
Serial.println("Almacenando numero 39 en dirección 0");
EEPROM.write(0, 39); //Grabar un byte en la celda 0
Serial.println("Almacenando numero 196 en dirección 1");
EEPROM.put(1, entero); //Grabar un entero (2 bytes)
Serial.println("Almacenando numero 3.141592 en dirección 3");
EEPROM.put(3, flotante); //Grabar un valor de punto flotante (4 bytes)
Serial.println("Almacenando 'Esta es una prueba.' en dirección 7");
EEPROM.put(7, cadena); //Grabar una cadena (p.ej. 19 bytes)
Serial.println(" ");
delay(20); // La memoria tarda 3.3 ms en guardarse.
Serial.println("Modificando variables para comprobar...");
entero = 2;
flotante = 1.5;
for (int i = 0; i < 19; i++) // No se pueden sobreescribir strings
cadena[i] = 'X';
Serial.println(" ");
Serial.println("Imprimiendo valores alterados");
Serial.print("Nuevo entero: ");
Serial.println(entero);
Serial.print("Nuevo flotante: ");
Serial.println(flotante);
Serial.print("Nueva cadena: ");
Serial.println(cadena);
Serial.println(" ");
Serial.println("Imprimiendo valores recuperados del EEPROM");
Serial.print("Valor final almacenado en dirección 0: ");
Serial.println(EEPROM.read(0));
Serial.print("Valor entero recuperado de dirección 1: ");
Serial.println(EEPROM.get(1, entero));
Serial.print("Valor flotante recuperado de dirección 3: ");
Serial.println(EEPROM.get(3, flotante));
Serial.print("Cadena recuperada de dirección 7: ");
Serial.println(EEPROM.get(7, cadena));
Serial.println(" ");
Serial.println("Imprimiendo variables recuperadas");
Serial.print("Entero recuperado: ");
Serial.println(entero);
Serial.print("Flotante recuperado: ");
Serial.println(flotante, 6);
Serial.print("Cadena recuperada: ");
Serial.println(cadena);
}
void loop() {
// put your main code here, to run repeatedly:
}