关于STM32串口波特率的产生,以及USARTDIV写入到USART_BRR寄存器的值

#关于STM32串口波特率的产生,以及如何从USART_BRR寄存器值得到USARTDIV
波特率计算公式
fCK是时钟频率,这里我们假设72000000Hz,如果需要设置的波特率为115200,那我们可以计算出USARTDIV = 39.0625

我们将39.0625写到USART_BRR寄存器
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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值