[uquote="codenamehawk",url="/forum/viewtopic.php?p=4614647#p4614647"]
eduard_7 писал(а):Симуляция проходит корректно в Proteus.
Я не вижу нормальной работы.
Опишите, что происходит после asm("sleep");// уход в сон
Добавлено after 1 hour 14 minutes 50 seconds:
Код: Выделить всё
// основной отсчет времени
ISR (WDT_vect) {
if(period_time_out) period_time_out--;
if(work_time_out) work_time_out--;
WDTCR |= (1<<WDTIE); // разрешаем прерывания по ватчдогу. Иначе будет резет.
}
Если попали в прерывание, то оно уже разрешено (в прерывании, обычно, запрещены прерывания, ну оно(прерывание) будет разрешено после выхода из прерывания), так что WDTCR |= (1<<WDTIE); не имеет смысла.
Тут возможно надо сбросить флаг, типа мы обработали прерывание WDT и не надо проц. сбрасывать.[/uquote]
Касательно вопроса WDTCR |= (1<<WDTIE) думаю ответ в DS (прикрепил)
Опять же, я до глубоко разбора алгоритма не дошел. Решил пока запустить чип и начать разбираться и подстраивать под свои цели. Убедившись, что протеус прекрасно отсимулировал, со спокойной совестью перешел к прошивке. При подаче питания, на пару секунд загораеся led POMPA и все. Никакой реакции на кнопку.
Мне интересно, если кто-то уже успел собрать, тоже такая реакция после прошивки?