- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第1章RCC—复位时钟控制
本章参考资料:《STM32中文参考手册》RCC章节。
学习本章时,配合《STM32中文参考手册》RCC章节一起阅读,效果会更佳,特别是
涉及到寄存器说明的部分。
RCC:resetclockcontrol复位和时钟控制器。本章我们主要讲解时钟部分,特别是要
着重理解时钟树,理解了时钟树,STM32的一切时钟的来龙去脉都会了如指掌。
1.1RCC主要作用—时钟部分
设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分
频因子(决定PCLK2等于多少)、设置APB1分频因子(决定PCLK1等于多少)、设置各
个外设的分频因子;控制AHB、APB2和APB1这三条总线时钟的开启、控制每个外设的时
钟的开启。对于SYSCLK、HCLK、PCLK2、PCLK1这四个时钟的配置一般是:PCLK2=
HCLK=SYSCLK=PLLCLK=72M,PCLK1=HCLK/2=36M。这个时钟配置也是库函数的标
准配置,我们用的最多的就是这个。
1.2RCC框图剖析—时钟部分
时钟树单纯讲理论的话会比较枯燥,如果选取一条主线,并辅以代码,先主后次讲解
的话会很容易,而且记忆还更深刻。我们这里选取库函数时钟系统时钟函数:
SetSysClockTo72();以这个函数的编写流程来讲解时钟树,这个函数也是我们用库的时候
默认的系统时钟设置函数。该函数的功能是利用HSE把时钟设置为:PCLK2=HCLK=
SYSCLK=72M,PCLK1=HCLK/2=36M。下面我们就以这个代码的流程为主线,来分析
时钟树,对应的是图中的部分,代码流程在时钟树中以数字的大小顺序标识。
图1STM32时钟树
1.2.1系统时钟
1.①HSE高速外部时钟信号
HSE是高速的外部时钟信号,可以由有源晶振或者无源晶振,频率从4-16MHZ
不等。当使用有源晶振时,时钟从OSC_IN引脚进入,OSC_OUT引脚悬空,当选用无源
晶振时,时钟从OSC_IN和OSC_OUT进入,并且要配谐振电容。
HSE最常使用的就是8M的无源晶振。当确定PLL时钟的时候,HSE可以不分频
或者2分频,这个由时钟配置寄存器CFGR的位17:PLLXTPRE设置,我们设置为HSE
不分频。
2.②PLL时钟源
PLL时钟可以有两个,一个来自HSE,另外一个是HSI/2,具体用哪个由时钟配
置寄存器CFGR的位16:PLLSRC设置。HSI是低速的时钟信号,频率为8M,根据
温度和环境的情况频率会有漂移,一般PLL的时钟。这里我们选HSE作为
PLL的时钟。
3.③PLL时钟PLLCLK
通过设置PLL的倍频因子,可以对PLL的时钟进行倍频,倍频因子可以
是:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],具体设置成多少,由时钟配置寄存器CFGR的位
21-18:PLLMUL[3:0]设置。我们这里设置为9倍频,因为上一步我们设置PLL的时钟
为HSE=8M,所以经过PLL倍频的PLL时钟:PLLCLK=8M*9=72M。72M是ST
推荐的稳定运行时钟,如果你想超频的话,增大倍频因子即可,最高为128M。我们
这里设置PLL时钟:PLLCLK=8M*9=72M。
4.④系统时钟SYSCLK
系统时钟可以是:HSI、PLLCLK、HSE,具体的时钟配置寄存器CFGR的位1-
0:SW[1:0]设置。我们这里设置系统时钟:SYSCLK=PLLCLK=72M。
5.⑤AHB总线时钟HCLK
系统时钟SYSC
原创力文档


文档评论(0)