
PIC18F66K80 FAMILY
DS39977F-page 338
2010-2012 Microchip Technology Inc.
EXAMPLE 22-1:
CALCULATING BAUD RATE ERROR
TABLE 22-3:
REGISTERS ASSOCIATED WITH BAUD RATE GENERATOR
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TXSTA1
CSRC
TX9
TXEN
SYNC
SENDB
BRGH
TRMT
TX9D
RCSTA1
SPEN
RX9
SREN
CREN
ADDEN
FERR
OERR
RX9D
BAUDCON1
ABDOVF
RCIDL
RXDTP
TXCKP
BRG16
—
WUE
ABDEN
SPBRGH1
EUSART1 Baud Rate Generator Register High Byte
SPBRG1
EUSART1 Baud Rate Generator Register
TXSTA2
CSRC
TX9
TXEN
SYNC
SENDB
BRGH
TRMT
TX9D
RCSTA2
SPEN
RX9
SREN
CREN
ADDEN
FERR
OERR
RX9D
BAUDCON2
ABDOVF
RCIDL
RXDTP
TXCKP
BRG16
—
WUE
ABDEN
SPBRGH2
EUSART2 Baud Rate Generator Register High Byte
SPBRG2
EUSART2 Baud Rate Generator Register Low Byte
PMD0
CCP5MD
CCP4MD
CCP3MD
CCP2MD
CCP1MD UART2MD UART1MD SSPMD
Legend:
— = unimplemented, read as ‘0’. Shaded cells are not used by the BRG.
For a device with FOSC of 16 MHz, desired baud rate of 9600, Asynchronous mode, and 8-bit BRG:
Desired Baud Rate
=
FOSC/(64 ([SPBRGHx:SPBRGx] + 1))
Solving for SPBRGHx:SPBRGx:
X
=
((FOSC/Desired Baud Rate)/64) – 1
=
((16000000/9600)/64) – 1
=
[25.042] = 25
Calculated Baud Rate
=
16000000/(64 (25 + 1))
=
9615
Error
=
(Calculated Baud Rate – Desired Baud Rate)/Desired Baud Rate
=
(9615 – 9600)/9600 = 0.16%