Vypra
Member
Идея хорошая. До записи нужно организовать чтение нормальное. Для начала мне нужно разобраться почему когда я вставил этот блок в большой код - WD сработал.суть предложения следующая.
можно проверять на совпадение вместо задержки и вместо записи
алгоритм такой
ставите цикл пока не совпадает - пишите
или условный если не совпадает то пишите
Код очень большой, загромождать не буду, но смысл такой: инициализируются датчики и remoteXY, потом нужно с памяти считать параметры для будильника:
Код:
EEPROM_read_int(132, 135, interval);
Serial.print("interval=");
Serial.println(interval);
EEPROM_read_int(136, 139, alarm_flag);
Serial.print("alarm_flag=");
Serial.println(alarm_flag);
EEPROM_read_int(140, 143, next_alarm);
Serial.print("next_alarm=");
Serial.println(next_alarm);
alarm_flag уже хрень читает, выдает 1926 вместо 1.
На next_alarm срабатывает WD. Вечный ребут.
Интересно то, что код выполняется последовательно и обращаемся к одной и той же функции чтения.
Думал что в памяти значения не числовые до этого записаны и int не может прочитать. Переписал в эти ячейки 0. Но история повторилась. Может не успевает прочитать?