Использую процессор 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; }
Для проверки из программы стираю сброс сторожевого таймера. При переполнении сброса не происходит, а программа просто зависает...
Подскажите пожалуйста, в чем может быть проблема? (или может я что-то упустил из виду)
|