一、烧录程序后,单片机不运行
原因是时钟配置与外部晶振不匹配。我使用的是25MHz晶振,STM32F401CC,时钟为84M。
解决方法:对函数SystemClock_Config进行修改。
PLLM为PLL之前分频系数,PLLN主PLL倍频系数(PLL倍频),PLLP为PLL之后的分频,即25MHz进行25分频——168倍频——2分频,得到84M。
二、串口发送程序乱码解决方法
原因是程序里对外部晶振频率的设置问题
这只是我遇到的情况的其中一种解决方法,仅供参考:
解决方法:对文件stm32f4xx_hal_conf.h中的HSE_VALUE后面频率改成外部晶振对应的频率即可。
这里将12000000改成25000000