1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <avr/wdt.h> #include "util.h" void wdt_init(void) { wdt_reset(); WDTCSR |= (1 << WDCE) | (1 << WDE); WDTCSR = (1 << WDE) | (1 << WDP3) | (1 << WDP0); } void wdt_stop(void) { wdt_reset(); MCUSR &= ~(1<<WDRF); WDTCSR |= (1<<WDCE) | (1<<WDE); WDTCSR = 0x00; }