STM32配置时钟系统流程(固件库/外设标准库)

文章介绍了STM32F10x系列固件库的时钟系统配置过程,包括SystemInit()、SetSysClock()和SetSysClockTo72()等函数的作用。默认配置为HSE8MHz,系统时钟72MHz。若需修改,如更换为16MHz晶振,需调整HSE_VALUE和分频系数。若无外部晶振,HSI会自动作为时钟源。
摘要由CSDN通过智能技术生成

前提:STM32F10x系列固件库(标准外设库)


前言:

       固件库帮我们写好了 ‘时钟系统(/时钟树)的配置函数’ ,该函数也不需要我们去调用,只要正确包含了STM32的启动文件(.s文件)就行。.s启动文件调用执行了时钟配置函数,先于main函数执行(.s启动文件执行完才到main函数执行)。

       库的时钟配置函数的默认配置是:HSE为8MHz,系统时钟是72MHz。如果有HSE,就把HSE作为时钟源,没有HSE就把HSI作为时钟源。配置函数中会检测有无HSE。

       大多情况下,默认配置的时钟系统就满足我们的使用了,并不需要更改。如果需要更改的话,后面有教程。

       本文先讲解固件库是怎么配置时钟系统的,再讲一下,怎么去更改固件库的默认的时钟配置。

注意:STM32F103x的固件库的默认配置是:HSE是8MHz,系统时钟是72MHz。

正文:

一、固件库的时钟配置过程分析:

1、在main之前,执行SystemInit(),完成对系统时钟的配置。

2、SystemInit()函数

 

 

 3、SetSysClock()函数

 

 

4、SetSysClockTo72()函数

 

 

5、默认的外部晶振频率

总结以上的时钟配置流程: 

库的系统时钟函数先是使能HSI,并把HSI作为时钟源(复位后,HSI自然就是时钟源了);

然后启动HSE,

     如果HSE起振成功,那就切换,时钟源由HSI切换为HSE;

     如果HSE起振失败,那就啥也不做(上一步已经把HSI设置时钟源了,就算HSE不起振也没事);

二、修改时钟配置

1、需求:我的主板的晶振原来是8MHz的,现在更换为16NHz了,但我还是希望系统时钟保持为原来的72MHz。

(1)、把库中的HSE_VALUE由默认的8M改为16M

(2)、改HSE相关的分频系数

至此,完成时钟配置的修改。 

 

2、需求:我的主板没有外部晶振,我想启动HSI作为时钟源,并把系统时钟配置为72MHz。

答:啥也不用做,固件库中,系统时钟默认就是72MHz。另外,固件库的时钟配置函数中,第一步就把HSI启动了。随后的一系列复位操作后,HSI就是时钟源了。之后的HSE启动如果成功,才会把HSE设置为时钟源,你的主板没有HSE,HSE自然启动不成功,那就还是保持着HSI作为时钟源。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于STM32F4固件的中文手册,可以在网上搜索到相关的资源。其中,手册中包含了对于固件中各个文件的详细说明和使用方法。例如,手册中会介绍到core_m4.h文件是CMSIS核心文件,提供进入M4内核接口;system_stm32f4xx.h文件是片上外设接入层系统头文件,用来申明设置系统以及总线时钟相关的函数;stm32f4xx.h文件是STM32F4片上外设访问层头文件,主要包含系统寄存器定义申明以及包装内存操作等。此外,手册还会介绍其他一些文件的作用,如中断服务函数的编写、外设驱动配置文件、标准外设文件等。手册中还会提供一些示例代码和应用层代码的说明。总之,通过阅读STM32F4固件的中文手册,可以更好地理解和使用固件中的各个文件和功能。 #### 引用[.reference_title] - *1* *2* [STM32F4xx固件的说明及使用](https://blog.csdn.net/weixin_44502943/article/details/120347325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【STM32f401学习之路-01】GPIO实战—点灯、检测按键](https://blog.csdn.net/ZYP_KVG/article/details/123077641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值