Datasheet

54
ATmega169A/PA/329A/PA/649A/P/3290A/PA/6490A/P [DATASHEET]
8284E–AVR–02/2013
The following code example shows one assembly and one C function for turning off the WDT. The example
assumes that interrupts are controlled (for example, by disabling interrupts globally) so that no interrupts will occur
during execution of these functions.
Note: 1. See ”About code examples” on page 11.
Assembly code example
(1)
WDT_off:
; Reset WDT
wdr
; Write logical one to WDCE and WDE
in r16, WDTCR
ori r16, (1<<WDCE)|(1<<WDE)
out WDTCR, r16
; Turn off WDT
ldi r16, (0<<WDE)
out WDTCR, r16
ret
C code example
(1)
void WDT_off(void)
{
/* Reset WDT */
__watchdog_reset();
/* Write logical one to WDCE and WDE */
WDTCR |= (1<<WDCE) | (1<<WDE);
/* Turn off WDT */
WDTCR = 0x00;
}