Arduino básico: escribir y leer datos de la memoria EEPROM

Si bien el grueso de la memoria de un Arduino está representado por la memoria volátil, que se borra una vez se corta la alimentación o resetea, estas placas poseen también una memoria no volátil donde almacenar permanentemente una serie de datos: La memoria EEPROM (Electrically Erasable Programmable Read-Only Memory) . Según el modelo varía entre los 512 bytes y los 4KB.

Para trabajar con esta memoria necesitamos hacer uso de la librería EEPROM, que viene junto al IDE oficial de Arduino. Posee un método para escribir, write(), y otro para leer, read(). Tanto para leer como para escribir se trabaja por direcciones y byte a byte. Esto implica que enl modelo de 512 bytes tendías posiciones de 0 a 511 y en cada una de ellas podrías guardar un valor comprendido entre 0 y 255. El primer ejemplo que vamos a ver es muy simple: vamos a escribir el mismo valor en todas las posiciones de la memoria y luego a leerlo. Una chorrada, pero muy didáctico:

 

//Se incluye la librería EEPROM
#include <EEPROM.h>
//Creamos una variable para el valor de la posición de memoria
//en la que se va a almacenar el dato.
int Direccion = 0;

//Creamos una variable para leer los valores de la memoria EEPROM
byte valor;

void setup()
{
  Serial.begin(9600);
  // La "B" indica que pasamos los datos
  // en binario (en decimal sería un 18)
  byte Informacion = B10010;
  
  //para el ejemplo nos pateamos
  //512 bytes.
   for (int i = 0; i < 512; i++){
     EEPROM.write(i, i);
   }
}

void loop()
{
  while(Direccion < 512){
    valor = EEPROM.read(Direccion);  
    Serial.print("En la dirección ");
    Serial.print(Direccion);
    Serial.print(" almacenamos el valor: ");
    // DEC para mostrar el resultado en decimal
    Serial.print(valor, DEC);
    delay(100);
    Direccion++;
  }
}

Más adelante seguiremos viendo otros ejemplos de programación con el IDE de Arduino.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s