/* proyecto de unidad 2
Memoria EPROM interna (esp32)
EPROM SD
Falta ver funciones, empezar armado de modelo
*/
// USO DE MEMORIA EPROM
#include <EEPROM.h>
// #include "EEPROM.h" Formas de llamar la memoria
int addr = 0;
byte Val = 0;
char Dato;
#define EEPROM_SIZE 16
void setup()
{
Serial.begin(115200);
if(!EEPROM.begin(EEPROM_SIZE))
{
Serial.println("La memoria ha fallado");
delay(30000);
}
Serial.println("Inicia prueba de memoria FLASH");
Serial.println("Byte escritos en memoria son: ");
for (byte i = 0; i < EEPROM_SIZE; i++)
{
Serial.print(byte (EEPROM.read(1)));
Serial.print(" ");
}
Serial.println("--------------------------------------");
}
void loop()
{
if(Serial.available())
{
Dato = Serial.read();
}
if (Dato = 'M') //Cambiar espacio de memoria
{
addr = addr + 1;
if (addr == 17) addr = 0;
Serial.print("Se incrementó el valor de Memoria a: ");
Serial.print(addr);
Serial.println("--------------------------------------");
}
if (Dato = 'I') //Cambiar dato a guardar en memoria
{
Val++;
Serial.print("Se incrementó el valor para guardar a: ");
Serial.print(Val);
Serial.println("--------------------------------------");
}
if (Dato = 'G') //Guardar dato en memoria (provisionalmente)
{
EEPROM.write(addr, Val);
Serial.print("Se guardó el valor: ");
Serial.print(Val);
Serial.print("En el espacio de memoria: ");
Serial.print(addr);
Serial.println("--------------------------------------");
}
if (Dato = 'V') //Confirmar Guardado
{
addr = 0;
EEPROM.commit();
Serial.println("Byte escritos en memoria son: ");
for (byte i = 0; i < EEPROM_SIZE; i++)
{
Serial.print(byte (EEPROM.read(1)));
Serial.print(" ");
}
Serial.println("--------------------------------------");
}
Dato = 0;
delay(10);
} //Fin de loop