Datasheet

2001 Microchip Technology Inc. DS30292C-page 103
PIC16F87X
10.2.3 SETTING UP 9-BIT MODE WITH
ADDRESS DETECT
When setting up an Asynchronous Reception with
Address Detect Enabled:
Initialize the SPBRG register for the appropriate
baud rate. If a high speed baud rate is desired, set
bit BRGH.
Enable the asynchronous serial port by clearing
bit SYNC and setting bit SPEN.
If interrupts are desired, then set enable bit RCIE.
Set bit RX9 to enable 9-bit reception.
Set ADDEN to enable address detect.
Enable the reception by setting enable bit CREN.
Flag bit RCIF will be set when reception is com-
plete, and an interrupt will be generated if enable
bit RCIE was set.
Read the RCSTA register to get the ninth bit and
determine if any error occurred during reception.
Read the 8-bit received data by reading the
RCREG register, to determine if the device is
being addressed.
If any error occurred, clear the error by clearing
enable bit CREN.
If the device has been addressed, clear the
ADDEN bit to allow data bytes and address bytes
to be read into the receive buffer, and interrupt the
CPU.
FIGURE 10-6: USART RECEIVE BLOCK DIAGRAM
x64 Baud Rate CLK
SPBRG
Baud Rate Generator
RC7/RX/DT
Pin Buffer
and Control
SPEN
Data
Recovery
CREN
OERR
FERR
RSR Register
MSb
LSb
RX9D
RCREG Register
FIFO
Interrupt
RCIF
RCIE
Data Bus
8
÷ 64
÷ 16
or
STOP
START
(8)
7
1
0
RX9
• • •
RX9
ADDEN
RX9
ADDEN
RSR<8>
Enable
Load of
Receive
Buffer
8
8
FOSC