dontsovcmc / waterius

Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
https://waterius.ru
GNU Lesser General Public License v3.0
555 stars 109 forks source link

странная перезагрузка attiny85 по Watchdog Reset Flag #170

Closed dontsovcmc closed 3 years ago

dontsovcmc commented 3 years ago

Работает работает, а через сутки перестает пробуждаться. Но не перестает считать. При этом после нажатия на кнопку - регистр MCUSR равен 8 1000 - WDRF: Watchdog Reset Flag. Завершение работы таймера

Причина перезагрузки (регистр MCUSR datasheet 8.5.1): 0001 - PORF: Power-on Reset Flag. Напряжение питания было низкое или 0. 0010 - EXTRF: External Reset Flag. Пин ресет был в низком уровне. 0100 - BORF: Brown-out Reset Flag. Напряжение питание было ниже требуемого. 1000 - WDRF: Watchdog Reset Flag. Завершение работы таймера.

Подробное описание: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=160954

dontsovcmc commented 3 years ago

5 тестовых устройств с WDTCR |= bit( WDIE ) в ISR(WDT_vect) продолжают исправно работать, когда без него через сутки точно зависали. Дополнительно убрал WDE из WDTCR = bit( WDCE ) | bit( WDE ), т.к. бит отвечает за перезагрузку МК.

Версия прошивки attiny 19.