本帖最后由 bin133 于 2021-9-24 16:08 编辑
很多朋友经常问到,我自己的板子是F103的,但是我的晶振用的不是8M的,那么怎么在正点原子的例程基础上面修改呢? 接下来我们就以外部晶振是24M为例,一起来看一下在寄存器、标准库、HAL库的例程中是如何配置24M晶振,而达到系统时钟为72M。 本教程以战舰F103的串口实验代码为例 1、寄存器版本的配置 1)找到寄存器版本代码里面的stm32f10x.h这个文件,把HSE_VALUE这个宏定义的值修改为24000000(默认为8000000) 修改前: 修改后: 2)修改主函数里面的Stm32_Clock_Init入口参数为3就行,这样系统时钟的频率就是24M*3=72M了 修改前: 修改后: 至此寄存器版本修改完毕 2、标准库版本的配置 1)找到标准库版本代码里面的stm32f10x.h这个文件,把HSE_VALUE这个宏定义的值修改为24000000(默认为8000000) 修改前: 修改后: 2)修改system_stm32f10x.c文件里面的倍频系数,默认是9倍频,我们的晶振是24M,那么需要72M的系统时钟,这里的倍频系数就修改为RCC_CFGR_PLLMULL3,也就是3倍频,系统时钟为24M*3=72M 修改前: 修改后: 至此标准库版本修改完毕 3、HAL库版本的配置 1)打开stm32f1xx_hal_conf.h,把HSE_VALUE这个宏定义的值修改为24000000(默认为8000000) 修改前: 修改后: 2)修改主函数里面的Stm32_Clock_Init入口参数为RCC_PLL_MUL3就行,这样系统时钟的频率就是24M*3=72M了 修改前: 修改后: 至此HAL库版本修改完毕 |