时钟的使用就六个字:选择,乘法,除法
什么是时钟, 简单来说时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波上图为STM32时钟树简图
1.1时钟源有HSE、HSI、LSE、LSI四种
2.1系统时钟配置步骤: 1,配置宏HSE_VALUE(告诉HAL库外部晶振频率)->2,调用systeminit()函数(可选)->3,选择时钟源,配置PLL->4,选择系统时钟源,配置总线分频器->5,配置扩展外设时钟(可选) 3+4+5=sys_stm32_clock_init()系统时钟初始化函数
2.2外设时钟使能和失能:
要使用外设必须先使能该外设的时钟
- g.HAL库使能某个外设时钟的方法:
__HAL_RCC_GPIOA_CLK_ENABLE();//使能GPIO时钟
E.g.HAL库失能某个外设时钟的方法:
__HAL_RCC_GPIOA_CLK_DISABLE();//禁止GPIO时钟
2.3sys_stm32_clock_init函数
- HAL_RCC_OscConfig()函数
- HAL_RCC_ClockConfig()函数
CSS:时钟安全系统,如果HSE启动失败可切换到HSI,可进入NMI中断
FCLK:自由运行时钟,用于采样中断和调试模块计时,休眠仍有效