Техническая Спецификация для Microchip Technology DM240015
PIC24FJ128GC010 FAMILY
DS30009312B-page 258
2012-2013 Microchip Technology Inc.
18.1
UARTx Baud Rate Generator (BRG)
The UARTx module includes a dedicated, 16-bit Baud
Rate Generator. The UxBRG register controls the
period of a free-running, 16-bit timer.
Rate Generator. The UxBRG register controls the
period of a free-running, 16-bit timer.
shows the formula for computation of the baud rate with
BRGH = 0.
BRGH = 0.
EQUATION 18-1:
UARTx BAUD RATE WITH
BRGH = 0
BRGH = 0
(
error for the following conditions:
• F
• F
CY
= 4 MHz
• Desired Baud Rate = 9600
The maximum baud rate (BRGH = 0) possible is
F
F
CY
/16 (for UxBRG = 0) and the minimum baud rate
possible is F
CY
/(16 * 65536).
shows the formula for computation of
the baud rate with BRGH = 1.
EQUATION 18-2:
UARTx BAUD RATE WITH
BRGH = 1
BRGH = 1
)
The maximum baud rate (BRGH = 1) possible is F
CY
/4
(for UxBRG = 0) and the minimum baud rate possible
is F
is F
CY
/(4 * 65536).
Writing a new value to the UxBRG register causes the
BRG timer to be reset (cleared). This ensures the BRG
does not wait for a timer overflow before generating the
new baud rate.
BRG timer to be reset (cleared). This ensures the BRG
does not wait for a timer overflow before generating the
new baud rate.
EXAMPLE 18-1:
BAUD RATE ERROR CALCULATION (BRGH = 0)
)
Note 1:
F
CY
denotes the instruction cycle clock
frequency (F
OSC
/2).
2:
Based on F
CY
= F
OSC
/2; Doze mode
and PLL are disabled.
Baud Rate =
F
CY
16 • (UxBRG + 1)
UxBRG =
F
CY
16 • Baud Rate
– 1
Note 1:
F
CY
denotes the instruction cycle clock
frequency.
2:
Based on F
CY
= F
OSC
/2; Doze mode
and PLL are disabled.
Baud Rate =
F
CY
4 • (UxBRG + 1)
UxBRG =
F
CY
4 • Baud Rate
– 1
Note 1:
Based on F
CY
= F
OSC
/2; Doze mode and PLL are disabled.
Desired Baud Rate = F
CY
/(16 (BRGx + 1))
Solving for BRGx Value:
BRGx
= ((F
CY
/Desired Baud Rate)/16) – 1
BRGx
= ((4000000/9600)/16) – 1
BRGx
= 25
Calculated Baud Rate = 4000000/(16 (25 + 1))
= 9615
Error
= (Calculated Baud Rate – Desired Baud Rate)/Desired Baud Rate
= (9615 – 9600)/9600
= 0.16%
= (9615 – 9600)/9600
= 0.16%