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 |
---|---|---|---|---|
Power-on Reset | 0 | -110 0000 |
0011 110x |
---- -111 |
Brown-out Reset | 0 | -110 0000 |
0011 11u0 |
---- -u1u |
MCLR Reset during normal operation | 0 | -uuu uuuu |
uuuu 0uuu |
---- -uuu |
MCLR Reset during Sleep | 0 | -10u uuuu |
uuuu 0uuu |
---- -uuu |
WDT Time-out Reset | 0 | -0uu uuuu |
uuu0 uuuu |
---- -uuu |
WDT Wake-up from Sleep | PC + 2 | -00u uuuu |
uuuu uuuu |
---- -uuu |
WWDT Window Violation Reset | 0 | -uuu uuuu |
uu0u uuuu |
---- -uuu |
Interrupt Wake-up from Sleep | PC + 2(3) | -10u uuuu |
uuuu uuuu |
---- -uuu |
RESET Instruction Executed | 0 | -uuu uuuu |
uuuu u0uu |
---- -uuu |
Stack Overflow Reset (STVREN =
1 ) |
0 | -uuu uuuu |
1uuu uuuu |
---- -uuu |
Stack Underflow Reset (STVREN =
1 ) |
0 | -uuu uuuu |
u1uu uuuu |
---- -uuu |
Data Protection (Fuse Fault) | 0 | -uuu uuuu |
uuuu uuuu |
---- -uu0 |
VREG or ULP Ready Fault | 0 | -110 0000 |
0011 110u |
---- -0u1 |
Memory Violation Reset | 0 | -uuu uuuu |
uuuu uuuu |
---- -u0u |
Legend:
Note:
|