Information

2011-2012 Microchip Technology Inc. DS80521B-page 3
PIC16(L)F720/721
Silicon Errata Issues
1. Module: AUSART
1.1 OERR Flag Not Clearing
The OERR flag of the RCSTA register is reset only
by either clearing the CREN bit of the RCSTA
register or by a device Reset. Clearing the SPEN
bit of the RCSTA register does not clear the OERR
flag.
Work around
Clear the OERR flag by clearing the CREN bit in
lieu of clearing the SPEN bit.
Affected Silicon Revisions
1.2 Starting the Interrupt Service Routine
When the AUSART is configured for Synchronous
mode and either an RCIF or TXIF flag event wakes
the device from Sleep, then execution of the
Interrupt Service Routine (ISR) will begin
immediately after the two instructions following the
SLEEP instruction have finished executing.
Work around
Follow the SLEEP instruction with two NOP
instructions or two instructions desired to be
executed before the ISR begins.
Affected Silicon Revisions
2. Module: Interrupts
2.1 Stack Push
The interrupt logic incorrectly pushes two
addresses to the stack when vectoring to the
interrupt vector. Specifically, the interrupt vector
address 0x4 is incorrectly pushed to the stack after
the current PC, at the time the interrupt was
received, is pushed. This will cause the stack to
overflow if the user program is operating seven
calls deep when an interrupt arrives. Because the
stack is circular, the overflow causes the first stack
address to be overwritten.
Work around
Disable interrupts by clearing the GIE bit in the
INTCON register whenever the user program is
operating seven calls deep. This ensures that
interrupts will not cause the stack to overflow.
Affected Silicon Revisions
Note: This document summarizes all silicon
errata issues from all revisions of silicon,
previous as well as current. Only the
issues indicated by the shaded column in
the following tables apply to the current
silicon revision (A4).
A3
A4
X
X
A3 A4
X
X
A3 A4
X
X