Datasheet
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 = F
OSC/(64 ([SPBRGHx:SPBRGx] + 1))
Solving for SPBRGHx:SPBRGx:
X = ((F
OSC/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%