ESP, IoT ESP32 случайные значения при чтении EEPROM

vivatgm

✩✩✩✩✩✩✩
26 Янв 2021
23
0
Здравствуйте. подскажите почему при перезагрузке ESP32 c EEPROM читается случайное значение в пределах от 0 до 100 при этом до перезагрузки значение zapros было больше 300. при этом считаться значение может меньше того что было считано при предшествующей перезагрузке.
C++:
#define EEPROM_SIZE 4
#include <EEPROM.h>
long zapros = 0;
long proverka;
void setup() {
 EEPROM.begin(EEPROM_SIZE);
 proverka = EEPROM.read(0); //проверка на положительность значения
  if (proverka < 0) {
    proverka = 0;
    EEPROM.write(0, proverka);
    EEPROM.commit();
  }
  zapros=EEPROM.read(0);
}

void loop() {
  //....код
  //происходит событие
  zapros++;
  EEPROM.write(0, zapros);
  EEPROM.commit();
}
 

poty

★★★★★★✩
19 Фев 2020
3,443
981
Скорее всего, функции записи и чтения работают с байтами, а Вы пытаетесь передать им число long.