如何將USART波特率增加到2Mbps,3Mbps或4Mbps。我使用STM32L151RCT6A,我可以運行到921600.我已經設置PLL 32MHz的時鐘。在數據表上給出,這表明它是可能的,有沒有人曾經這樣做過?USART到4MBps!怎麼樣? STM32L151xx
0
A
回答
2
該數據表只概述了具體部分及其外圍設置和電氣特性。有關如何使用設備的信息,您需要Reference Manual。這給出了波特率以下等式:
的Tx/Rx波特= CK_APB1 /(8×(2 - OVER8)X USARTDIV)
哪裏USARTDIV是在USART_BRR寄存器編碼一個無符號的固定點數目。
- 當OVER8 = 0時,小數部分是編碼在4個比特和編程爲通過所述 DIV_fraction [3:0]在USART_BRR位寄存器
- 當OVER8 = 1時,小數部分3編碼位,並由USART_BRR寄存器中的 DIV_fraction [2:0]位進行編程,位DIV_fraction 3必須保留 清除。
USART在APB1總線上,參考手冊中的圖12是時鐘樹,它顯示了APB1時鐘是如何從PLL時鐘派生的。最大的APB1時鐘是32MHz。對於更高速度需要OVER8 = 1,給出:
baud = 32X10 /(USARTDIV x 8)。
所以USARTDIV = 32X10 /(波特×8)
對於因此4Mbps的,USARTDIV = 1(參照表138 S.No.12細節)。對於2Mps,USARTDIV = 2。要達到3Mbps,你必須將APB1時鐘減少到24MHz,並將USARTDIV設置爲1(見表131)。但請注意,所有其他APB1外設的時鐘速率也會發生變化。
正確編程USART波特率的最簡單方法是通過STM32L1xx standard peripheral library。同時爲了確定正確的外設時鐘設置(以及更多)並生成初始化代碼,可以使用STM的MicroXplorer工具。
相關問題
- 1. SVG到VML - 怎麼樣?
- 2. 怎麼樣IE11
- 3. 箭頭怎麼樣?
- 4. Aptana 3怎麼樣?
- 5. import javax.mail.session怎麼樣?
- 6. 多維數組到ListView ..怎麼樣?
- 7. WCF到WPF類怎麼樣INotifyPropertyChanged的
- 8. 對象到字符串。怎麼樣?
- 9. Qt多平臺怎麼樣
- 10. PHP中的password_hash()怎麼樣
- 11. PlayFramework。 JSONP視圖。怎麼樣?
- 12. 怎麼樣在python中?
- 13. jquery autocomplete with aurelia.js怎麼樣?
- 14. ckeditor onKeyUp事件怎麼樣?
- 15. &array == array,結構怎麼樣?
- 16. Python os.path是ntpath,怎麼樣?
- 17. perl to python ...我怎麼樣?
- 18. WebSafe顏色怎麼樣
- 19. 怎麼樣與ASP.NET MVC的
- 20. 怎麼樣!是從不同=
- 21. 的mod_rewrite`Redirect`怎麼樣?
- 22. SqliteOpenHelper for Mode_World_Readable,怎麼樣?
- 23. 緩衝FileInputStream怎麼樣?
- 24. #怎麼樣! shebang的工作?
- 25. 我的邏輯怎麼樣?
- 26. JUnit測試。怎麼樣?
- 27. 藍牙和delphi,怎麼樣?
- 28. eclipse導入類怎麼樣
- 29. MYSQL QUERY算了,怎麼樣?
- 30. PHP命令+值?怎麼樣?
你想用什麼模式?一個USART可以做uart類型的東西,同步串行等,等等,而4Mbit/sec可能在所有模式下都是不可能的。 –
我正在使用usart-RX/TX通過中斷,可能使用波特率計算公式,即使用pclk外設時鐘,但需要對此進行測試。 – Ishmeet
在[參考手冊](http://www.st.com/web/en/resource/technical/document/reference_manual/CD00240193.pdf)的第26.3.4章中有詳細說明。當OVER8 = 1且USART_BRR = 1時,您達到4Mb。使*可靠*並跟上比特率是不平凡的。 –