1、由于项目需求需要对stm32的波特率进行调整,能够支持300的波特率。
然后通过计算
X 波特率计算器 Y是波特率 X的只能够是12位,最大值4096
300 = 72M/16*X
4800X = 72M
X=15000
X=7500 Y = 600
X=3750 Y = 1200
300 = 50M/16*X
X = 10416.666666666666666666666666667 Y = 300
X = 5208.3333333333333333333333333333
2、总结:
通过上面的计算,在50MHZ以上,要想设置600或者是300的波特率,根本是不可能。USARTDIV=是12位最大的数值是4096..
根据上面统计分析可以获得,如果把stm32串口时钟设置为12Mhz 时,USARTDIV=2500设个值便能够设置波特率设置为300。当然这里会影响
到其他串口的性能。