#include <EEPROM.h>
#define EEPROM_SIZE 1024
double A = 10.02;
void setup() {
Serial.begin(115200);
// initialize EEPROM with predefined size
EEPROM.begin(EEPROM_SIZE);
//Note: ESP32 ไม่มี EEPROM ในตัว Library นี้ใช้ Flash ในตัวจำลองเป็น EEPROM
//EEPROM มีรอบการอ่านเขียนสูงสุด = 10,000 ครั้ง
//if(EEPROM.read(EEPROM_SIZE) == 0){}else{EEPROM.writeDouble(0, A);}
//EEPROM.writeDouble(EEPROM_SIZE, 0);
//EEPROM.commit();
pinMode(5, INPUT_PULLUP);
Serial.println("Aก่อนอ่าน = " + String(A));
A = EEPROM.readDouble(0);
Serial.print("Aหลังอ่าน = ");
Serial.println(A,8);
}
void loop() {
// Serial.println("State saved in flash memory");
if('a' == Serial.read()){
A = 20.99123456;
Serial.print("set A = ");
Serial.println(A,8);
EEPROM.writeDouble(0, A);
EEPROM.commit();
Serial.println("A = " + String(EEPROM.readDouble(0), 8));
}
if(digitalRead(5) == LOW){Serial.println("Restart ESP32!"); ESP.restart();}
}