Rainbow Electronics ATmega3290P_V User Manual
Page 47

47
ATmega329/3290/649/6490
2552H–AVR–11/06
The following code example shows one assembly and one C function for turning off the
WDT. The example assumes that interrupts are controlled (e.g. by disabling interrupts
globally) so that no interrupts will occur during execution of these functions.
Note:
1. See “About Code Examples” on page 8.
Table 21. Watchdog Timer Prescale Select
WDP2
WDP1
WDP0
Number of WDT
Oscillator Cycles
Typical Time-out
at V
CC
= 3.0V
Typical Time-out
at V
CC
= 5.0V
0
0
0
16K cycles
17.1 ms
16.3 ms
0
0
1
32K cycles
34.3 ms
32.5 ms
0
1
0
64K cycles
68.5 ms
65 ms
0
1
1
128K cycles
0.14 s
0.13 s
1
0
0
256K cycles
0.27 s
0.26 s
1
0
1
512K cycles
0.55 s
0.52 s
1
1
0
1,024K cycles
1.1 s
1.0 s
1
1
1
2,048K cycles
2.2 s
2.1 s
Assembly Code Example
(1)
WDT_off:
; Reset WDT
wdr
; Write logical one to WDCE and WDE
in
r16, WDTCR
ori
r16, (1< out WDTCR, r16 ; Turn off WDT ldi r16, (0< 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< /* Turn off WDT */ WDTCR = 0x00; }