首页 > 代码库 > STM32系统时钟为什么没有定义呢

STM32系统时钟为什么没有定义呢

对于使用3.5版本库开发的STM32学习者 有时候不清楚为什么没有时钟定义

那么我们就简单的讲解下吧:

1,函数从启动文件开始运行(汇编文件)

2,若是hd.s 请看151行LDR     R0, =SystemInit    

3,我们按F12跳到SystemInit 中(包含在system_stm32f10x.c)

4,函数前部分是一些复位配置还有一些调试方面的设置下面的SetSysClock();在这个函数里可以将系统时钟设置成不同频率(24.36.48.56.72)(包含在system_stm32f10x.c)

5,底层驱动SetSysClockTo72 ;

注意:

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
 #define SYSCLK_FREQ_24MHz  24000000
#else
/* #define SYSCLK_FREQ_HSE    HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz  24000000 */
/* #define SYSCLK_FREQ_36MHz  36000000 */
/* #define SYSCLK_FREQ_48MHz  48000000 */
/* #define SYSCLK_FREQ_56MHz  56000000 */
#define SYSCLK_FREQ_72MHz  72000000
#endif

系统时钟开关(包含在system_stm32f10x.c中,110行左右)

 

STM32系统时钟为什么没有定义呢