GD32A50x User Manual
472
bits in the USART_CTL1 register.
Table 19-2. Configuration of stop bits
STB[1:0]
stop bit length (bit)
usage description
00
1
Default value
01
0.5
Smartcard mode for receiving
10
2
Normal USART and single-wire modes
11
1.5
Smartcard mode for transmitting and receiving
In an idle frame, all the frame bits are logic 1. The frame length is equal to the normal USART
frame.
The break frame structure is a number of low bits followed by the configured number of stop
bits. The transfer speed of a USART frame depends on the frequency of the UCLK, the
configuration of the baud rate generator and the oversampling mode.
19.3.2.
Baud rate generation
The baud-rate divider is a 16-bit number which consists of a 12-bit integer and a 4-bit
fractional part. The number formed by these two values is used by the baud rate generator to
determine the bit period. Having a fractional baud-rate divider allows the USART to generate
all the standard baud rates.
The baud-rate divider (USARTDIV) has the following relationship with the peripheral clock:
In case of oversampling by 16, the equation is:
USARTDIV=
UCLK
16×Baud Rate
(19-1)
In case of oversampling by 8, the equation is:
USARTDIV=
UCLK
8×Baud Rate
(19-2)
For example, when oversampled by 16:
1.
Get USARTDIV by caculating the value of USART_BUAD:
If USART_BUAD=0x21D, then INTDIV=33 (0x21), FRADIV=13 (0xD).
USARTDIV=33+13/16=33.81.
2.
Get the value of USART_BUAD by calculating the value of USARTDIV:
If USARTDIV=30.37, then INTDIV=30 (0x1E).
16*0.37=5.92,
the nearest integer is 6, so
FRADIV=6 (0x6).
USART_BUAD=0x1E6.
Note:
If the
roundness of
FRADIV is 16 (overflow), the carry must be added to the
integer part.