#关于STM32串口波特率的产生,以及如何从USART_BRR寄存器值得到USARTDIV
fCK是时钟频率,这里我们假设72000000Hz,如果需要设置的波特率为115200,那我们可以计算出USARTDIV = 39.0625
我们将39.0625写到USART_BRR寄存器
从图中可以看出,USART_BRR寄存器的前四位表示小数部分也就是0.0625,第五位到第十六位表示整数部分也就是39.
即:DIV_Mantissa = 0x27
那么小数部分呢?
我们来看一下,小数部分的最大值就是1,而4位的表示就把1分成了16份,每一份都表示1/16。
将0.0625除以1/16就得到了小数部分写入的值,即DIV_Fraction = 0x01.
那么USART_BRR = 0x271.