ESP8266 não permitindo gravação na EEPROM (mesmo com eeprom.end)

Boa tarde.

O código é tão simples que vou postar aqui mesmo, só faço a gravação e tento ler.

Já tentei usar o commit (que é desnecessário, pois uso o eeprom.end), tentei forçar ser um int (int  idgrav = 183), tentei salvar um char, também não foi.

Estou usando um NodeMCU, o que recebo na serial é 183 do primeiro serial print e 0 do segundo, ou seja, não está gravando.

Alguém saberia me dizer o que pode estar acontecendo?

Obrigado.

void idEsp8266(){
delay(50);
EEPROM.begin(MEM_ALOC_SIZE);
stats = EEPROM.read(ID_Value);
EEPROM.end();
Serial.println(stats); //TESTE - APAGAR
}


void gravaIdEsp8266(){
int idgrav = 183;
delay(50);
EEPROM.begin(MEM_ALOC_SIZE);
EEPROM.write(ID_Value, idgrav);
EEPROM.end();
Serial.println(idgrav); //TESTE - APAGAR
}

Exibições: 463

As respostas para este tópico estão encerradas.

Respostas a este tópico

Boa tarde, 

Veja se esse exemplo pode ser útil:

https://randomnerdtutorials.com/esp8266-multisensor-shield/

Obrigado, dei uma lida, achei que pudesse ser o fato de eu estar usando valores Hex para os endereços de memória (no exemplo ai ele usou Dec), mas também não foi isso.

De todo o modo, obrigado!

Boa tarde JM,

já que seu sketch é pequeno, vou abrir uma exceção e ajudar que postou sketch na área de texto do tópico.

Qdo usa-se a  "EEPROM"  do ESP, faz-se necessário chamar a função "EEPROM.commit();"  após 

uma gravação, ou gravações, para "confirmar" a gravação.

Caso contrario, a gravação não é efetivada.

RV 

Olá.

Como disse no tópico, até onde sei é desnecessário, já que a função EEPROM.end(); chama o commit internamente, mas ainda assim tentei usar o commit e não funcionou.

Obrigado!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço