#include <avr/io.h>
#include <util/delay.h>
#include <avr/wdt.h>
int cnt=0;
int vdly=1;
void Delay(int vdly);
int main(void)
{
DDRA=0xFF;
PORTA=0xAA;
// MCUSR &= ~(1<<WDRF);
/* In order to change WDE or the prescaler, we need to
* set WDCE (This will allow updates for 4 clock cycles).
*/
// WDTCSR &= ~((1<<WDP3) | (1<<WDP0)|(1<<WDIF)|(1<<WDIE));
WDTCSR |= (1<<WDCE) | (1<<WDE);
WDTCSR = (1<<WDE) | (1<<WDP3) | (1<<WDP0);
while(1)
{
PORTA=~cnt++;
Delay(vdly++);
__asm__ __volatile__ ("wdr"); // wdt_reset();
}
}
void Delay(int vdly)
{
while(vdly--){
_delay_ms(2000);
}
}