Para leer y escribir desde la memoria flash del ESP32 con el IDE de Arduino, usaremos la biblioteca EEPROM. Usar esta biblioteca con el ESP32 es muy similar a usarla con Arduino. Así que, si ya has usado la EEPROM de Arduino, esto no es muy diferente.
Con el ESP32 y la biblioteca EEPROM, puedes usar hasta 512 bytes en la memoria flash. Esto significa que tienes 512 direcciones diferentes y puedes guardar un valor entre 0 y 255 en cada posición de dirección.
Escritura
Para escribir datos en la memoria flash, se utiliza la función EEPROM.write(), que acepta como argumentos la ubicación o dirección donde se desean guardar los datos y el valor (una variable de bytes) que se desea guardar:
EEPROM.write(address, value);
Por ejemplo, Para escribir 9 en la dirección 0:
EEPROM.write(0, 9);EEPROM.commit();
Para guardar los cambios.
Lectura
Para leer un byte de la memoria flash, se utiliza la función EEPROM.read(). Esta función toma como argumento la dirección del byte que se desea leer.
EEPROM.read(address);
Por ejemplo, para leer el byte almacenado previamente en la dirección 0:
EEPROM.read(0);
Esto devolverá el 9, el cuál estaba almacenado en la dirección 0.