|
本帖最后由 zministaryfw 于 2015-2-13 15:08 编辑 stm32固件包3.0之后,时钟的配置只需要SystemInit();就可以了,这是默认的72Mhz时钟,但是如果我想更改时钟了,是不是只要在前面加频率的宏定义例如#defined SYSCLK_FREQ_24MHz,然后再SystemInit();就可以更改系统的时钟了,还是说需要自己一个个去调用RCC库函数才能改? |
stm32f103中文.pdf
下载457.98 KB, 下载次数: 1, 下载积分: ST金币 -1
微信公众号
手机版
#define SYSCLK_FREQ_24MHz 24000000
并且注释掉72M的宏定义
/*#define SYSCLK_FREQ_72MHz 72000000*/
接下来就可以分析系统初始化函数了。
在SystemInit函数实现的末尾,调用了SetSysClock函数。
而在SetSysClock函数实现中根据宏定义调用了不同的时钟设置函数,例如定义了SYSCLK_FREQ_24MHz ,调用了SetSysClockTo24函数。
在SetSysClockTo24函数中真正的实现了时钟的设置。这个文件中已经实现了24M,36M,48M,56M,72M等频率的所有代码。
所以使用STM32F1系列的标准库设置系统时钟只需要修改system_stm32f10x.c文件中的SYSCLK_FREQ_xxMHz系列的宏定义就可以实现改变系统时钟的目的。
评分
查看全部评分