2025年时钟代码教程(时钟配置代码)

时钟代码教程(时钟配置代码)系统时钟 是整个芯片的心脏 如果没有了它 就等于人没有了心跳 在实际工程应用中 每当使用一个外设时 首先需要做的就是打开该外设对应的时钟 这样的好处就是 如果不使用一个外设的时候 就把它的时钟关掉 从而可以降低系统的功耗 达到节能 实现低功耗的效果 低功耗 nbsp 寄存器是由 D 触发器组成的 只有送来了时钟 触发器才能被改写值 任何 MCU 的任何外设都需要有时钟

大家好,我是讯享网,很高兴认识大家。



  系统时钟,是整个芯片的心脏,如果没有了它,就等于人没有了心跳;
  在实际工程应用中,每当使用一个外设时,首先需要做的就是打开该外设对应的时钟;这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果(低功耗); 
  寄存器是由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 82 * 16 = 64MHz; 使用HSI  82*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)

 

小弟才疏学浅,如有错误或不足之处,还请大佬批评指正,深表感谢!

小讯
上一篇 2025-06-07 12:41
下一篇 2025-05-15 18:25

相关推荐

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