Memoria Flash

 

La Flash es un tipo de memoria no volátil utilizada en una amplia variedad de dispositivos electrónicos como el ESP32. A diferencia de la memoria RAM, que pierde su contenido cuando se corta la alimentación, la memoria flash retiene la información incluso cuando no hay energía eléctrica.

La memoria Flash se compone de celdas que pueden almacenar datos mediante la modificación de la carga eléctrica en sus componentes. Estas están organizadas en bloques, y la información se puede leer y escribir en ellos. Además, la memoria flash permite reescribir datos múltiples veces, lo que la hace ideal para dispositivos donde se necesita almacenar y actualizar información de manera frecuente.

La memoria flash del ESP32 se utiliza para almacenar el programa que ejecuta el microcontrolador, así como los datos necesarios para su funcionamiento. Cuando se programa un ESP32, el firmware compilado se carga en la memoria flash a través de un programador o un puerto serie, y luego se ejecuta desde allí cada vez que se inicia el microcontrolador.

Para utilizar la memoria Flash interna del ESP32 se puede hacer uso de la librería Preferences que implementa varias funciones para escribir y leer información almacenada en forma de pares "clave : valor". Esta librería viene instalada por defecto una vez instalada y seleccionada las placas ESP32.

Las funciones más comunes se muestran a continuación:


FunciónDescripción
Prefenrences miMemoria;Crea un objeto llamado miMemoria de tipo Preferences que nos permite acceder a las funciones de la librería. Esto se pone antes del Setup().
miMemoria.begin(nombre, modo);La parte de la memoria que coincida con nombre es abierta para trabajar con los datos. Si modo es false, la memoria se abre en modo lectura-escritura. Si modo es true, la memoria se abre en modo solo lectura. Esto se pone en el Setup().
miMemoria.getX(identificador);Devuelve el valor guardado de tipo X en la clave correspondiente a identificador.
X puede ser Bool, Char, Int, Float, String, entre otros.
miMemoria.putX(identificador, valor);Escribe el valor dado en la memoria con la clave identificador. Si identificador no existe, se crea automáticamente.
X puede ser Bool, Char, Int, Float, String, entre otros.
miMemoria.end();Cierra la conexión con la memoria.
miMemoria.clear();Elimina todos los datos guardados en la parte de la memoria abierta.
miMemoria.remove(identificador);Elimina el registro con la clave identificador.
Vistas
0 Número de vistas
0 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.