GD32VF103 User Manual
331
STB[1:0]
stop bit length (bit)
usage description
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.
A break frame is configured 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 PCLK, the
configuration of the baud rate generator and the oversampling mode.
16.3.2.
Baud rate generation
The baud-rate divider is a 16-bit number consisting 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.
When oversampled by 16, the baud-rate divider (USARTDIV) has the following relationship
with the peripheral clock:
USARTDIV=
PCLK
16×Baud Rate
(16-1)
The peripheral clock is PCLK2 for USART0 and PCLK1 for USART1/2 and UART3/4. The
peripheral clock must be enabled through the clock control unit before enabling the USART.
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.
16.3.3.
USART transmitter
If the transmit enable bit (TEN) in USART_CTL0 register is set, when the transmit data buffer
is not empty, the transmitter shifts out the transmit data frame through the TX pin.
Clock pulses
can output through the CK pin.
After the TEN bit is set, an idle frame will be sent. The TEN bit should not be cleared while