不同开发板不同的硬件带来的影响
主要记录一个事,正点原子的开发板上的晶振是8Mhz,而野火的是25Mhz,这导致两者的代码不能互通。
每一款单片机都有自己的时钟源,存在外部高速时钟(HSE)和外部低速时钟(LSE),而单片机中的系统时钟最大值为168Mhz,一般都是由外部高速时钟提供,然后经过内部锁相环吧频率升上去。
1、搜索“#define PLL_M ”——在system_stm32f4xx.c文件中
该值表示外部晶振的输入频率
2、搜索“#define HSE_VALUE”——在stm32f4xx.h文件中,确保HSE_VALUE的值与板子上的晶振保持一致。如晶振是25MHz,HSE_VALUE=25000000;晶振是8MHz,HSE_VALUE=8000000。
3、在stm32f4xx.h文件中,需要修改
#if!defined(HSE_VALUE)
#defineHSE_VALUE((uint32_t)8000000)/*!< Value of the External oscillator in Hz */
#endif/* HSE_VALUE */
总结,不同开发板的硬件配置不同,随之代码也需要修改。