对于使用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行左右)