ATTIny13-12PI ATMEL Corporation, ATTIny13-12PI Datasheet - Page 36

no-image

ATTIny13-12PI

Manufacturer Part Number
ATTIny13-12PI
Description
8-bit AVR Microcontroller with 1K Bytes In-System Programmable Flash
Manufacturer
ATMEL Corporation
Datasheet
36
ATtiny13
The following code example shows one assembly and one C function for turning off the
Watchdog Timer. The example assumes that interrupts are controlled (e.g. by disabling
interrupts globally) so that no interrupts will occur during the execution of these
functions.
Note:
Note: If the Watchdog is accidentally enabled, for example by a runaway pointer or
brown-out condition, the device will be reset and the Watchdog Timer will stay enabled.
If the code is not set up to handle the Watchdog, this might lead to an eternal loop of
time-out resets. To avoid this situation, the application software should always clear the
Assembly Code Example
C Code Example
WDT_off:
void WDT_off(void)
{
*/
}
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
; Clear WDRF in MCUSR
in
andi
out
; Write logical one to WDCE and WDE
; Keep old prescaler setting to prevent unintentional time-out
in
ori
out
; Turn off WDT
ldi
out
; Turn on global interrupt
sei
ret
__disable_interrupt();
__watchdog_reset();
/* Clear WDRF in MCUSR */
MCUSR &= ~(1<<WDRF);
/* Write logical one to WDCE and WDE */
/* Keep old prescaler setting to prevent unintentional time-out
WDTCR |= (1<<WDCE) | (1<<WDE);
/* Turn off WDT */
WDTCR = 0x00;
__enable_interrupt();
1. The example code assumes that the part specific header file is included.
r16, MCUSR
r16, (0xff & (0<<WDRF))
MCUSR, r16
r16, WDTCR
r16, (1<<WDCE) | (1<<WDE)
WDTCR, r16
r16, (0<<WDE)
WDTCR, r16
(1)
(1)
2535B–AVR–01/04

Related parts for ATTIny13-12PI