程序上设置的晶振频率跟实际外部用的晶振频率不一致,会导致时钟紊乱,比如定时器定时不准,还会导致串口传输数据错误。
将晶振频率设置成12M的步骤如下:
1.将stm32f4xx.h中语句 #define HSE_VALUE ((uint32_t)8000000)改作#define HSE_VALUE ((uint32_t)12000000)
2.将system_stm32f4xx.c中的语句 #define HSE_BYPASS_INPUT_FREQUENCY 8000000改作 #define HSE_BYPASS_INPUT_FREQUENCY 12000000
3.将system_stm32f4xx.c中 #define PLL_M 改作 #define PLL_M 12
4.然后就OK啦!
不得不说,博主本人记性不好,晶振频率这个也不常需要设置,但是每次设置都要折腾半天才能设置对,这次设置成功后将需要设置的地方在这里记录下来,以后再设置的时候可以翻看,也供大家参考,如有不足欢迎指教。