/****************************************************************************************************** * Demoprogramm für die Verwendung von WD-Timer * Plattform: Tiny25/45/85 * * WD-Timer: WDE nicht setzen, ebenso nicht die WDTON-Fuse! * * 17.12.20 - HildeK *******************************************************************************************************/ #define F_CPU 1E6 #include #include #include #include #define WD_SEK 5 // Timer wird unten auf 1s gesetzt, WD_SEK ist der Multiplikator für längere Wartezeit volatile uint8_t wd_cnt; //EMPTY_INTERRUPT (WDT_vect); /*****************************/ ISR(WDT_vect) { wd_cnt--; // Zähler für vielfache der WDT-Periode // alternativ: leere ISR } /*****************************/ void sleep_pd() { set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_cpu(); sleep_disable(); } /*****************************/ int main() { // setup PORTB = 0xFF; // Pulls einschalten DDRB |= (1<