STM8L因時鍾頻率過低造成的串口接收問題


       在調試stm8L101的時候發現,使用115200的波特率發送數據,在串口調試助手發現比其他單片機顯示慢,能感覺到字符是一個一個跳出來的。

       當然問題的重點不在這,調試串口接收遇到了蛋疼的問題,串口接收不完整,然而改成9600的波特率卻沒為題了。由此想到可能是單片機時鍾頻率太低造成的數據處理不完。使用  u32_clk_freq = CLK_GetClockFreq();獲取到時鍾頻率,果然發現時鍾頻率為2M。使用CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv1);將時鍾分頻改為1分頻后(即時鍾頻率16M),再使用115200的波特率收發就沒問題了。


免責聲明!

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



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