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
SLEEPinstruction:- The
SLEEPinstruction 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
SLEEPinstruction:- The
SLEEPinstruction 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.
