En este artículo, conoceremos la librería EEPROM.h para una memoria ROM programable y borrable eléctricamente, veremos sus principales funciones y de como usar esta librería.
Librería EEPROM para Arduino
La librería EEPROM.h proporciona una interfaz para interactuar con el almacenamiento interno no volátil que tienen las placas de Arduino AVR.
Nota: puede buscar las placas y la capacidad de la memoria no volátil revisando el artículo Modelo de placas de arduino
Como usarla
LA librería se incluye en la descarga del IDE de arduino y para agregar esta funcionalidad, se debe agregar al proyecto o código al encabezado como se observa en el siguiente ejemplo:
#include <EEPROM.h>
void setup(){
}
void loop(){
}
Funciones de la librería
Nota: para casi todas las funciones, los parámetros de entrada `address` es de tipo int y el `value` es de tipo unsigned char.
EEPROM.read(address)
Lee un byte de la dirección de memoria especificada y devuelve su valor.
Su unico parametro es ´address´ que es la dirección del byte a leer y este valor debe ser de tipo int, retornara un valor unsigned char.
EEPROM.write(address, value)
Escribe un byte en la dirección de memoria especificada con el valor proporcionado. Como se menciona requiere de dos parámetros ´address´ de tipo int y valor de tipo unsigned char.
Esta función no devuelve ningún valor.
EEPROM.update(address, value)
Actualiza el byte en la dirección de memoria especificada con el valor proporcionado. Esta función solo escribe en la EEPROM si el nuevo valor es diferente al valor existente en esa dirección, lo que puede ayudar a reducir el desgaste de la EEPROM al evitar escrituras innecesarias.
EEPROM.put(address, value)
Escribe un valor de tipo de dato complejo (como una estructura o una clase) en la dirección de memoria especificada. Esta función se utiliza para almacenar datos estructurados en la EEPROM.
EEPROM.get(address, value)
Lee un valor de tipo de dato complejo de la dirección de memoria especificada. Esta función se utiliza para recuperar datos estructurados de la EEPROM.
EEPROM.length()
Devuelve el tamaño total de la memoria EEPROM disponible en el microcontrolador. Esto puede variar según el modelo de Arduino que estés utilizando.