13.1.2 Wake-Up Using Interrupts
When global interrupts are disabled (GIE cleared) and any interrupt source has both its interrupt enable bit and interrupt flag bit set, one of the following will occur:
- If the interrupt occurs before the execution of a
SLEEP
instruction:- The
SLEEP
instruction will execute as aNOP
- The WDT and WDT prescaler will not be cleared
- The TO bit will not be set
- The PD bit will not be cleared
- The
- If the interrupt occurs during or after the execution of a
SLEEP
instruction:- The
SLEEP
instruction will be completely executed - The device will immediately wake up from Sleep
- The WDT and WDT prescaler will be cleared
- The TO bit will be set
- The PD bit will be cleared
- The
Even if the flag bits were checked before executing a
SLEEP
instruction, it may be possible for flag bits to become set
before the SLEEP
instruction completes. To determine whether a
SLEEP
instruction executed, test the PD bit. If the PD bit is
set, the SLEEP
instruction was executed as a NOP
.