当前位置:首页>维修大全>综合>

stm32串口通信波特率怎么计算(stm32串口通信代码详解)

stm32串口通信波特率怎么计算(stm32串口通信代码详解)

更新时间:2024-05-11 04:55:27

stm32串口通信波特率怎么计算

实际编程时用库函数直接设置即可,不需要计算。

分数波特率的产生:

接收器和发送器(RX和TX)都是设置城USARTDIV整数和小数寄存器中配置的值。

TX/RX波特率=Fck/(16*USARTDIV)

例子:从BRR寄存器的值计算得到USARTDIV

如果DIV_Mantissa=27D,DIV_Fraction=12D(BRR=1BCH),那么

Mantissa(USARTDIV)=27D

Fraciton(USARTDIV)=12/16=0.75D

因此,USARTDIV=27.75D

在写入USART_BRR后,波特率计数器会被波特率寄存器中的新值更新,因此在处理期间不应改变波特率寄存器的值,只有USART1是由PCK2(最大位72MHZ)提供时钟,其他的都由PCLK1提供时钟(最大为36MHZ)

更多栏目