设置波特率除数因子UBRDIV0。公式:UBRDIVn = (int)((Uart Clock)/(baud)/16) -1; Uart Clock:UART时钟频率。 baud:波特率。一般程序中公式将演变成:rUBRDIV0=(
(int)(pclk/16./baud+0.5) -1 );./ 为点除,因为pclk/16后为整数,所以点除得到float。+0.5 则是为强转时能够取到整数,因为c语言中强转是直接舍弃小数部分,而该公式要求四舍五入。
如:baud为115200bps 且UART时钟频率为40MHz。
UBRDIVn = (int)(pclk/16./baud+0.5) -1
= (int)22.2-1
= 21
关于串口的初始化Uart_Init(0, 115200)_浮华若水-CSDN博客_uart_init
https://blog.csdn.net/heqiuya/article/details/8029306