Search code examples
cembeddedmicrocontrolleravrwatchdog

How to use watchdog in AVR microcontroller


Hi I'm working on watchdog but I'm bit confused It show me some errors. I'm using AVR(AVR128DB48).

Errors:

WDTO_4S' undeclared (first use in this function)
recipe for target 'main.o' failed

code:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>

int main(void)
{
    wdt_enable(WDTO_4S);

    while(1)
    {
        wdt_reset();
    }
    return(0);
}

Solution

  • Never used this part, but I can do a quick Google search. From the inline documentation the header itself:

    #define WDTO_4S 8

    Note: This is only available on the ATtiny2313, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATmega48, ATmega88, ATmega168, ATmega48P, ATmega88P, ATmega168P, ATmega328P, ATmega164P, ATmega324P, ATmega644P, ATmega644, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega8HVA, ATmega16HVA, ATmega32HVB, ATmega406, ATmega1284P, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, AT90PWM81, AT90USB82, AT90USB162, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATtiny48, ATtiny88.

    See Here