STM32F0的UART上电不工作时,可以将其时钟源改为HSI试试。
在一个无线系统中,使用了一款470MHz LoRa射频模块,使用的CPU为STM32F030,搭建的测试环境为:一块板作为发送机,每秒发送一次,每次10个字节,另一块板作为接收机,总是处于接收状态,每次收到数据就通过串口打印出来。测试时发现,如果发送机上电时给接收机重新上电,则部分接收机的串口就会死掉,此时保持接收机上电,把发送机掉电,则接收机的串口就会恢复正常。
未能找到接收机串口死掉的真实原因,但把UART的时钟源从(HSE驱动的)PCLK换成HSI后,所有接收机重新上电后串口都是好的。