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