<i>..... когда не обнуляю вачдог проц уходи в даун навсегда даже нажатие на ресет не помогает, а только отключение питания. .....</i>
Если процессор был сброшен собакой, то по рестарту (WDRF=1) собака разрешается автоматически.
Вот рабочий кусок из WinAVR'a:
"hw_init.h"
// Hardware Init module definitions
void do_Early_Init() \
__attribute__((naked)) \
__attribute__ ((section (".init3")));
/* Установки аппаратуры контроллера, требуемые сразу после запуска:
Сброс сторожевого таймера;
И т.д. */
.....
"hw_init.c"
void do_Early_Init() {
.....
MCUSR &= ~(_BV(WDRF));
WDTCSR = _BV(WDCE) | _BV(WDE);
WDTCSR = 0;
.....