// Для AVR Arduino: подключая в скетч EEPROM.h мы автоматически подключаем
// avr/eeprom.h и можем пользоваться её фишками, такими как EEMEM.
#include <EEPROM.h>
// #include <eeprom.h> // Не актуально
// uint16_t dataWrite = 271;
uint8_t dataWrite = 182;
uint8_t dataRead = 0;
uint8_t H_Data_bit = 0;
uint8_t L_Data_bit = 0;
void setup() {
#if defined(__AVR__) // ATMEGA
Serial.begin(9600);
#else // ESP32 and Other
Serial.begin(115200);
EEPROM.begin(100); // для esp8266/esp32
#endif
// іНІціалізація даних при першому страрті
// if (EEPROM.read(INIT_ADDR) != INIT_KEY) { // первый запуск
// EEPROM.write(INIT_ADDR, INIT_KEY); // записали ключ
// // записали стандартное значение яркости
// // в данном случае это значение переменной, объявленное выше
// EEPROM.put(0, LEDbright);
// }
// EEPROM.get(0, LEDbright); // прочитали яркость
// if(dataWrite > 254) {
// }
// else {
// EEPROM.update(10, dataWrite);
// }
// пишем 200 по адресу 10
// EEPROM.update(10, dataWrite);
EEPROM.write(10, dataWrite);
//EEPROM.commit(); // для esp8266/esp32
dataRead = EEPROM.read(10);
Serial.println(dataRead); // выведет 200
Serial.println(EEPROM[10]); // выведет 200
float dataF = 3.14;
int16_t dataI = -634;
byte dataArray[] = {10, 20, 30, 40};
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[4];
// читаем точно так же, как писали
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]);
}
void loop() {
// put your main code here, to run repeatedly:
}