Stm32設置串口300波特率 2400 4800 9600


Stm32設置串口300波特率

 

  本文以串口4為例子:

  在APB1為72MHz的時鍾頻率下,是設置不了300波特率的,原因在於 Tx/Rx baud = fck / (16 * reg_value) ,reg_value是寫進USART_BRR寄存器里。

  比如我們要設置300波特率, reg_value = 72000000/ (16 * 300) = 15000,雖然能計算出來,但注意,USART_BRR的前四位存放的是小數部分,后12位存放的是整數部分,所以整數部分最大位4095,根本達不到15000,因此只能改變APB1的時鍾頻率。

  調用  RCC_PCLK1Config(RCC_HCLK_Div4);  把72MHz除於4 等於18MHz, reg_value = 18000000/ (16 * 300) = 3750  3750這個值是夠放的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM