我是靠谱客的博主 壮观睫毛,最近开发中收集的这篇文章主要介绍STM32中模块时钟,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

STM32中各个模块都有自己的时钟,当使用相应的模块时首先记得把此模块时钟开启

本次学习使用标准固件库3.3.0

好了,看明白上图咱就开始吧:

void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
//SystemInit(); //完全可以使用此函数配置,但是为了学习咱先不用
RCC_DeInit(); //复位RCC模块的寄存器,复位成缺省值
RCC_HSEConfig(RCC_HSE_ON); //开启HSE时钟,咱是用HSE的时钟作为PLL的时钟源
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //获取HSE启动状态

     if(HSEStartUpStatus == SUCCESS)                      //如果HSE启动成功
    {
              FLASH_PrefetchBufferCmd(ENABLE);          //开启FLASH的预取功能
              FLASH_SetLatency(FLASH_Latency_2);      //FLASH延迟2个周期(这里我也不明白,先用吧)

             RCC_HCLKConfig(RCC_SYSCLK_Div1);        //配置HCLK,PCLK2,PCLK1,PLL
             RCC_PCLK2Config(RCC_HCLK_Div1);
             RCC_PCLK1Config(RCC_HCLK_Div2);

             RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
             RCC_PLLCmd(ENABLE);                              //启动PLL
             while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)

             {}                                                              //等待PLL启动完成
             RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  //配置系统时钟
             while(RCC_GetSYSCLKSource() !=0x80)          //检查是否将HSE 9倍频后作为系统时钟

             {} 
     }

}

设置时钟流程:

1.将RCC寄存器重新设置为默认值 RCC_DeInit

2.打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON);

3.等待外部高速时钟晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();

4.设置AHB时钟 RCC_HCLKConfig;

5.设置高速APB2时钟 RCC_PCLK2Config;

6.设置低速速APB1时钟 RCC_PCLK1Config

7.设置PLL RCC_PLLConfig

8.打开PLL RCC_PLLCmd(ENABLE);

9.等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

10.设置系统时钟 RCC_SYSCLKConfig

11.判断是否PLL是系统时钟 while(RCC_GetSYSCLKSource() != 0x08)

12.打开要使用的外设时钟 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

至此我们就将STM32的系统时钟配置好了,系统时钟72MHz,APH 72MHz,APB2 72MHz,APB1 32MHz,USB 48MHz

其他至于ADC什么的先用不管,用到时再设置,本次只是大体先熟悉下STM32的时钟配置流程,便于以后程序的编写

最后

以上就是壮观睫毛为你收集整理的STM32中模块时钟的全部内容,希望文章能够帮你解决STM32中模块时钟所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部