时钟为单片机提供了稳定的机器周期,从而使我们的系统能够正常的运行
时钟就像我们人的心脏,一旦有问题就整个都会崩溃
stm32有很多外设,但不是所有的外设都使用同一种时钟频率工作,比如我们的内部看门狗和RTC
只要30几k的频率就可以工作,对于我们的定时器可能就要几十mhz的主频,所以他们的频率是不一样的
所以对于我们stm32就有多个时钟源进行选择,前面我们说了,系统复位是进入我们systeminit的初始化函数
通过这个函数,将我们的时钟设置为168mhz,注意这指的是标准库的前提下,对于我们hal库是没有实现对应的时钟的设置的
首先我们stm时钟树有5个重要的时钟源
一个是lsi一个是lse
以及我们的shi,和我们的she
以及我们的pl
这是我们重要的时钟源
按照时钟频率可以分为高速时钟源和低速时钟源
HSI 和HSE和高速 LSI和LSE是低速
PLL是特例
这个LSI时钟源是为RTC提供的
这个是16mhz, 这个可以做系统时钟,以及PLL所向环的输入
STM32时钟树
看门狗的时钟
stm32管脚的mhz不能高于100mhz
时钟配置函数
第一步完成spu的设置
第二步对外部存储器的一个设置
第三步对中断向量表的配置
电源相关的时钟配置使能他
这里设置电压输出级别·
配置时钟源
配置我们的分频系数,以及我们的AHB1,AHB2
时钟源选择高速晶振,HSE
时钟配置函数
可以在这些画红线的函数那里查看时钟的配置函数
自定义系统时钟
闪烁灯
在这个system.c这里面我们的时钟函数有介绍这个时钟的范围