系统时钟,是整个芯片的心脏,如果没有了它,就等于人没有了心跳;
在实际工程应用中,每当使用一个外设时,首先需要做的就是打开该外设对应的时钟;这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果(低功耗);
寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值。任何MCU的任何外设都需要有时钟,8051也是如此;STM32为了让用户更好地掌握功耗,对每个外设的时钟都设置了开关,让用户可以精确地控制,
关闭不需要的设备,达到节省供电的目的。51单片机不用配置IO时钟,只是因为默认使用同一个时钟,这样是方便,但是这样的话功耗就降低不了。51中某个功能不需要,
但是它还是一直运行。stm32中当你想关闭某个IO的时候,关闭它相对应的时钟使能就是了;ARM的芯片都是这样,外设通常都是给了时钟后,才能设置它的寄存器(即才能使用这个外设),
这么做的目的是为了省电,使用了所谓时钟门控的技术。
1.时钟分类(stm32所有型号的时钟分为4类)
①、HSI 是高速内部时钟(High Speed Internal Clock Signal)
②、HSE是高速外部时钟(High Speed External Clock Signal)
③、LSI 是低速内部时钟(Low Speed Internal Clock Signal)
④、LSE是低速外部时钟(Low Speed External Clock Signal)
①、HSI内部高速时钟,RC振荡器,频率为8MHz,当HSE故障时,系统时钟会自动切换到HSI,直到HSE启动成功,相对HSE精度小,受温度影响较大,会有温漂。
②、HSE外部高速时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz,多使用8MHz/12MHz。
③、PLL锁相环倍频时钟,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
STM32具有以下两个次级时钟源:
①、LSI内部低速时钟,RC振荡器,频率为30~60kHz不等,一般取40kHz,该 RC 用于驱动独立看门狗,也可选择提供给 RTC 用于停机/待机模式下的自动唤醒。②、LSE外部低速时钟,接频率为32.768kHz的石英晶体,主要做RTC时钟源;
(使用32.768kHz是因为2的15次方为32768,32.768kHz的晶振产生的时钟信号经过15次分频后,便会产生频率为1Hz的信号,即为秒脉冲信号 )
注:
1)对于不同系列的芯片,时钟树之间会存在或大或小的差异,具体需要查看手册中RCC的章节;
2)MCO接口的两个作用:其一,可以观察波形是否正常;其二,可以作为其他部件的时钟;
keil软件版本:V5.35.00
st官网:STM32 固件 - 意法半导体STMicroelectronics
单片机型号:STM32F103VET6
1、标准库中配置系统时钟分析
1)系统时钟配置的相关代码在这里哦


2)配置详情及描述(stm32)

3)另外补充一个例子(gd32)
2、重新定义并初始化函数
由上文代码可知,程序运行起来会首先执行启动文件,调用systeminit()函数,最终初始化系统时钟;如需改变时钟配置,可以在系统时钟配置文件中修改;但是为了不破坏库函数的完整性,可重新定义并调用初始化函数;
一般情况下,使用HSE经分频倍频后来配置系统时钟;
1)以HSE配置系统时钟为例,按照时钟树流程来完成函数: 使能MCO,使用示波器抓取波形 波形如下:(使用HSE 8*9 = 72MHz; 使用HSE(超频) 8*16 = 128MHz)

2)以HSI作为系统时钟
波形如下:(使用HSI 8⁄2 * 16 = 64MHz; 使用HSI 8⁄2*8 = 32MHz)

系统时钟配置需要根据具体的时钟框图,先设置好时钟源,AHB、APB1、APB2的分频系数;再设置好PLL倍频和分频;最后使用SW切换选择系统时钟来源即可。
1、《
2、[野火EmbedFire]《STM32库开发实战指南——基于野火指南者开发板》;
3、野火F103-指南者bilibili教程视频【150集-野火F103霸道/指南者视频教程】-中级篇_哔哩哔哩_bilibili;
4、32系统时钟配置 - Darren_pty - 博客园 (cnblogs.com)
5、STM32F4_RCC系统时钟配置及描述 - strongerHuang - 博客园 (cnblogs.com)
6、STM32F2系列系统时钟默认配置 - MyBooks - 博客园 (cnblogs.com)
7、STM32入门系列-STM32时钟系统,时钟使能配置函数 - STM32嵌入式开发 - 博客园 (cnblogs.com)
小弟才疏学浅,如有错误或不足之处,还请大佬批评指正,深表感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139311.html