14.11 Determining the Cause of a Reset
Upon any Reset, multiple bits in the STATUS, PCON0 and PCON1 registers are updated to indicate the cause of the Reset. The following table shows the Reset conditions of these registers.
| Condition | Program Counter | STATUS Register(1,2) | PCON0 Register | PCON1 Register | 
|---|---|---|---|---|
| VDD Power-on Reset | 0 | -110
                  0000 | 0011
                  110x | ---- u111 | 
| VDD Brown-out Reset | 0 | -110
                  0000 | 0011
                  11u0 | ---- uu1u | 
| VDDIO2 Power-on Reset | PC + 2 | -uuu uuuu | uuuu uuuu | ---- 0uuu | 
| MCLR Reset during normal operation | 0 | -uuu
                  uuuu | uuuu
                  0uuu | ---- uuuu | 
| MCLR Reset during Sleep | 0 | -10u
                  uuuu | uuuu
                  0uuu | ---- uuuu | 
| WDT Time-out Reset | 0 | -0uu
                  uuuu | uuu0
                  uuuu | ---- uuuu | 
| WDT Wake-up from Sleep | PC + 2 | -00u
                  uuuu | uuuu
                  uuuu | ---- uuuu | 
| WWDT Window Violation Reset | 0 | -uuu
                  uuuu | uu0u
                  uuuu | ---- uuuu | 
| Interrupt Wake-up from Sleep | PC + 2(3) | -10u
                  uuuu | uuuu
                  uuuu | ---- uuuu | 
| RESET Instruction Executed | 0 | -uuu
                  uuuu | uuuu
                  u0uu | ---- uuuu | 
| Stack Overflow
                Reset (STVREN = 1) | 0 | -uuu
                  uuuu | 1uuu
                  uuuu | ---- uuuu | 
| Stack
                Underflow Reset (STVREN = 1) | 0 | -uuu
                  uuuu | u1uu
                  uuuu | ---- uuuu | 
| Data Protection (Fuse Fault) | 0 | -uuu uuuu | uuuu uuuu | ---- uuu0 | 
| VREG or ULP Ready Fault | 0 | -110 0000 | 0011 110u | ---- u0u1 | 
| Memory Violation Reset | 0 | -uuu uuuu | uuuu uuuu | ---- uu0u | 
| Legend: u= unchanged,x= unknown, - = unimplemented bit,
                reads as ‘0’.Note: 
                   
 | ||||
