#include <EEPROM.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
EEPROM.begin(100); // для esp8266/esp32
// объявляем переменные, которые будем писать
float dataF = 3.14;
int16_t dataI = -634;
byte dataArray[] = {10, 20, 30, 40, 50};
EEPROM.put(0, dataF);
EEPROM.put(4, dataI);
EEPROM.put(6, dataArray);
EEPROM.commit(); // для esp8266/esp32
// объявляем переменные, куда будем читать
float dataF_read = 0;
int16_t dataI_read = 0;
byte dataArray_read[5];
// читаем точно так же, как писали
EEPROM.get(0, dataF_read);
EEPROM.get(4, dataI_read);
EEPROM.get(6, dataArray_read);
// проверяем
Serial.println(dataF_read);
Serial.println(dataI_read);
Serial.println(dataArray_read[0]);
Serial.println(dataArray_read[1]);
Serial.println(dataArray_read[2]);
Serial.println(dataArray_read[3]);
Serial.println(dataArray_read[4]);
int i;
struct Data {
byte bright = 0;
int counter = 0;
float fvalue = 0;
};
// глобальный экземпляр для личного использования
Data data;
EEPROM.get(20, data); // прочитать из адреса 0
// меняем
data.bright = 18;
data.counter = 1234;
data.fvalue = 5.40;
EEPROM.put(20, data); // поместить в EEPROM по адресу 0
EEPROM.commit();
Serial.println(data.bright);
Serial.println(data.counter);
Serial.println(data.fvalue);
for (i = 0; i <= 4; i ++) {
Serial.println(dataArray_read[i]);
}
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}