STM32F0的UART上電不工作時,可以將其時鐘源改爲HSI試試。
在一個無線系統中,使用了一款470MHz LoRa射頻模塊,使用的CPU爲STM32F030,搭建的測試環境爲:一塊板作爲發送機,每秒發送一次,每次10個字節,另一塊板作爲接收機,總是處於接收狀態,每次收到數據就通過串口打印出來。測試時發現,如果發送機上電時給接收機重新上電,則部分接收機的串口就會死掉,此時保持接收機上電,把發送機掉電,則接收機的串口就會恢復正常。
未能找到接收機串口死掉的真實原因,但把UART的時鐘源從(HSE驅動的)PCLK換成HSI後,所有接收機重新上電後串口都是好的。