RCC时钟——嵌入式软件控制的心脏
关注我,共同交流,一起成长
一、时钟概念
这个里面,时钟树是一个非常重要的概念。STM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以,其他的没用到的可以还是disable(不使能),这样耗能就会减少。所以无论在配置什么功能都需要先打开时钟。
这个具体操作过程基本上其实就是配置系统时钟,然后就是进行这个分频的设定。也就是说,首先是控制三条总线时钟的开启,其次是控制每个外设时钟的开启。
事实上,对于同一个电路,时钟越快功耗就会越大,抗干扰能力就会越弱,所以一定得要这种多时钟源的方式来解决问题了。时钟这个东西就相当于是一个观察外界变化的门,门开了观察得外界的变化就是会越多,然后他的反馈也就是会更加灵敏。如果没有观察到变化那就是会保持原样。相当于这样子:
所以就会有所谓的频率越快闪烁越快的说法了。
二、时钟树讲解
时钟是单片机的心脏,外设要工作必须要有这个东西,这对于整个stm32的学习以及后续理解嵌入式实时操作系统都具有重要意义。
STM32有5个时钟源:HSI、HSE、LSI、LSE、 PLL,为什么STM32要有多个时钟源呢?因为STM32本身十分复杂,外设非常多但我们实际使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并不是所有的外设都需要系统时钟那么高的频率,为了兼容不同速度的设备,有些高速,有些低速,如果都用高速时钟,势必造成浪费并且同一个电路,时钟越快功耗越快,同时抗电磁干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题。所以便有了STM32的时钟系统和时钟树,在何一个外设在使用之前,必须首先使能其相应的时钟。
1.HSE时钟
从这个原理图开始进行运行展开,然后建设在这个基础上进行和STM32的参考手册进行互动处理,实现这个背后的理论部分的完整认知。
2.HIS时钟
这个时钟,其实就是上个时钟的备胎罢了,就是在上面那个时钟用不了的时候进行使用而且是知道上面那个时钟重启正常为止。
3.系统时钟配置函数setsysclock
利用不同的宏来进行配置,进行了这些配置之后,就是相当于建设起来了一个心脏跳动的节律节拍,自此之后就可以进行这种运行展开了。
关注我,持续了解行业知识;如果本文让你有所收获,期待你的点赞。
如果想要获取相关知识资料,请扫码关注微信公众号: