第一章 : 认识系统时钟树
STM32中有4个时钟:
1.高速 内部 时钟(HSI): 8MHz
2.低速 内部 时钟(LSI): 40MHz
3.高速 外部 时钟(HSE):4M~16MHz
4.低速 外部 时钟(LSE):32.768MHz
问题一 : 为什么STM32中要有4个时钟呢?
这是因为STM32的外设非常多,每个外设对时钟速率的要求也不同,有的需要12MHz,有的需要72MHz。四个时钟可以通过分频器或者倍频器来达到每个外设所需要的时钟速率。
问题二 : 四个时钟如何选择呢?
高速内部时钟(HSI): 经过倍频器后最大只能达到64MHz往往满足不了需要使用72MHz的外设。
高速 外部 时钟(HSE) :能达到所有外设所需要的时钟频率,在有HSE的情况下当然优先选择。
低速 内部 时钟(LSI): 是看门狗的专用时钟。经过倍分频也通往RTC。
低速 外部 时钟(LSE) : 一般主要向RTC提供时钟。
问题三 : 常用的外设复用在哪条线?
HSE → SYSCLK → AHB→ APB1,APB2
常用的外设挂载在APB1和APB2上:
APB1 : USART2 3 , TIM1 8 , SPI2 3 , I2C
APB2 : GPIOA~G , ADC123 , USART1 , TIM2~7 , SPI1 , AFIO
问题四 :为什么要使能时钟?
stm32外设引脚非常多,通常为了省电,都是默认关闭的,所以使用某个外设引脚时需要打开相对应的时钟,把stm32比喻一个人就是,正常情况下人在睡眠,想让他起来干活,就得先把他叫醒,这样才能干活,stm32亦是如此。