Datasheet
2007-2013 Microchip Technology Inc. DS80000302H-page 5
PIC16F88X
Silicon Errata Issues
1. Module: Low-Voltage In-Circuit Serial
Programming™ (LVP)
If LVP (Low-Voltage Programming) mode is
enabled, programming the device using the V
PP
pin while holding high or toggling the port pin RB3/
PGM during Program mode could disrupt the
programming sequence.
Work around
Pull down pin RB3/PGM using external circuitry
during programming of the device.
Affected Silicon Revisions
PIC16F882
PIC16F883/PIC16F884
PIC16F886/PIC16F887
2. Module: MSSP (SPI Mode)
When the SPI is using Timer2/2 as the clock
source, a shorter than expected SCK pulse may
occur on the first bit of the transmitted/received
data (Figure 1).
FIGURE 1: SCK PULSE VARIATION
USING TIMER2/2
Work around
To avoid producing the short pulse, turn off Timer2
and clear the TMR2 register, load SSPBUF with
the data to transmit and then turn Timer2 back on.
Refer to Example 1 for sample code.
EXAMPLE 1: AVOIDING THE INITIAL
SHORT SCK PULSE
Affected Silicon Revisions
PIC16F882
PIC16F883/PIC16F884
PIC16F886/PIC16F887
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 (A0 or A2, as applicable).
A0
X
A0
X
A2
X
A0
X
A0
X
A2
X
SDO
SCK
Write SSPBUF
bit 0 =
1
bit 1 =
0
bit 2 =
1
. . . .
LOOP BTFSS SSPSTAT, BF ;Data received?
;(Xmit complete?)
GOTO LOOP ;No
MOVF SSPBUF, W ;W = SSPBUF
MOVWF RXDATA ;Save in user RAM
MOVF TXDATA, W ;W = TXDATA
BCF T2CON, TMR2ON ;Timer2 off
CLRF TMR2 ;Clear Timer2
MOVWF SSPBUF ;Xmit New data
BSF T2CON, TMR2ON ;Timer2 on