Цитата(StasAga @ Sep 4 2007, 12:11)

Использую процессор ATmega2560. Инсталяция сторожевого таймера написана в соответствии с мануалом:
void instal_wdt(void)
{
asm("cli"); //запрет прерываний
asm("wdr"); //сброс сторожевого таймера
MCUSR &= ~0x80; //Clear WDRF
WDTCSR |= 0x18; //Write logical one to WDCE and WDE
WDTCSR = 0x0F; //WDE=1; WDCE=0; 2c
asm("sei"); //разрешение прерываний
return;
}
Для проверки из программы стираю сброс сторожевого таймера. При переполнении сброса не происходит, а программа просто зависает...
Подскажите пожалуйста, в чем может быть проблема? (или может я что-то упустил из виду)
Замените строку WDTCSR |= 0x18; на WDTCSR |= 0x1F;