stm32波特率计算公式
时间: 2024-06-20 17:03:42 浏览: 180
STM32波特率计算
STM32的波特率计算公式为:
波特率 = APB1时钟频率 / (16 * USARTDIV)
其中,APB1时钟频率是指USART所在的总线频率,USARTDIV是一个16位的寄存器,用来存储波特率的分频值。具体计算方法如下:
1. 确定USART所在总线的频率,即APB1时钟频率。
2. 根据需要设置的波特率,计算USARTDIV的值:
USARTDIV = (APB1时钟频率 + 波特率/2) / 波特率
其中,波特率/2是为了实现四舍五入。
3. 将计算得到的USARTDIV的整数部分存入USART_BRR寄存器的低位,将小数部分乘以16后存入USART_BRR寄存器的高位。
需要注意的是,在计算波特率时,要确保APB1时钟频率和USARTDIV的值都是合法的。如果不合法,可以考虑修改APB1时钟频率或者使用USART的其他模式来实现目标波特率。
阅读全文