471289908 发表于 2012-3-2 16:23:25

p471289908

 temp=(float)(pclk2*1000000)/(bound*16);请问各位高手,这个是串口的设置,但是不懂这公式的来源,能否给解释一下,先谢谢啦!!

mikeliujia 发表于 2012-3-2 16:43:11

回复:p471289908

STM32的串口波特率公式:Tx\Rx波特率=fpclkx / (16 * USARTDIV)
则USARTDIV = fpclkx / (波特率 * 16)
fpclkx是给串口的时钟,x取1,2。     PCLK2用于USART1,PCLK1用于USART2,3,4,5。注意1MHZ=1000000Hz
USARTDIV是一个无符号定点数,通过它可以得到串口波特率寄存器USART1-->BRR的值,这个寄存器只用了低16位,具体看手册或者原子的《例说STM32》
页: [1]
查看完整版本: p471289908