beautypg.com

Attiny2313 – Rainbow Electronics ATtiny2313 User Manual

Page 43

background image

43

ATtiny2313

2543A–AVR–08/03

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. The example code assumes that the part specific header file is included.

Assembly Code Example

(1)

WDT_off:

WDR

; Clear WDRF in MCUSR

ldi

r16, (0<

out

MCUSR, r16

; Write logical one to WDCE and WDE

; Keep old prescaler setting to prevent unintentional Watchdog Reset

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)

{

_WDR();

/* Clear WDRF in MCUSR */

MCUSR = 0x00;

/* Write logical one to WDCE and WDE */

WDTCR |= (1<

/* Turn off WDT */

WDTCR = 0x00;

}