这个你看下STM32用户手册吧,里面都有的。USART_BRR的最低4位(位[3:0])用来存放小数部分DIV_Fraction,紧接着的12位(位[15:4])用来存放整数部分DIV_Mantissa,最高16位保留。
STM32的串口波特率计算公式如下:
上式中,Fpclk是给串口的时钟(PCLK1用于USART2、3、4、5,PCLK2用于USART1,以前说过,PCLK1是由系统时钟分频得来,最大36MHZ,PCLK2是直接由系统时钟得来,最大72MHZ。)
USARTDIV是一个无符号定点数,我们已知要设置的波特率及系统时钟,这样就可以算出USARTDIV的值
|