#include <EEPROM.h>
int estado = 0;
int valor, endereco, valor_grav, valor_lido;
void setup() {
Serial.begin(115200);
// Serial.println("Valor lido na posição 0: " + String(EEPROM.read(0)));
Serial.println("Digite 1 para escrever na EEPROM ou digite 2 para ler:");
}
void loop() {
while (Serial.available()){
valor = Serial.parseInt();
Serial.println("Valor digitado: " + String(valor) + " estado: " + String(estado));
Serial.read();
switch(estado){
case 0:
if(valor == 1){
estado = 11;
Serial.println("Digite o endereço da memória para gravar o valor:");
}
else if(valor == 2){
Serial.println("Digite o endereço da memória a ser lido:");
estado = 21;
}
else{
Serial.println("Digite um valor Válido!!!!");
Serial.println("Digite 1 para escrever na EEPROM ou digite 2 para ler:");
}
break;
case 11:
endereco = valor;
Serial.println("Digite o valor a ser armazenado no endereço " + String(endereco));
estado = 12;
break;
case 12:
valor_grav = valor;
EEPROM.put(endereco, valor_grav);
Serial.println("O número " + String(valor_grav) + " Foi gravado no endereço " + String(endereco));
Serial.println(" ");
Serial.println("Digite 1 para escrever na EEPROM ou digite 2 para ler:");
estado = 0;
break;
case 21:
Serial.println("No endereço " + String(valor) + " estava armazenado o número " + String(EEPROM.read(valor)));
Serial.println(" ");
Serial.println("Digite 1 para escrever na EEPROM ou digite 2 para ler:");
estado = 0;
break;
}
}
}