您的位置 首页 汽车

根据STM32单片机树立体系时钟的设计方案

基于STM32单片机建立系统时钟的设计方案-系统所有的运行都是建立在时钟的正常运行上的,没有稳健的系统时钟,就不可能有稳定的系统。

这儿有必要说明体系时钟的简历关于体系运转的重要性。体系一切的运转都是树立在时钟的正常运转上的,没有稳健的体系时钟,就不可能有安稳的体系。

在体系中,复位后首要的使命是树立体系时钟,以下是树立体系时钟的根本过程:

依据STM32单片机树立体系时钟的设计方案

1. 将一切的RCC外设存放器重设为默认值;

2.启用外部高速晶振

3.等候,知道外部高速晶振安稳;

4.设置欲取指缓存使能和代码延时值;

5.设置AHB(HCLK)等于体系时钟;

6.设置高速APB2(PCLK2)为体系时钟;

7.设置低速APB1(PCLK1)为体系时钟的1/2,APB2最高是38MHz;

8.设置PLL时钟源及倍频系数,使能PLL,经过PLL被频后最高时钟只能72MHz;

9.等候PLL初始化;

10.设置PLL为体系时钟;

11.等候PLL成功作为体系时钟源。

以下经过实例代码表征上述的使用方法。首要便是依据以上的体系时钟装备的次序来做代码处理:

ErrorStatus HSEStatusUpStatus;

//将外设RCC存放器重设为默认值

RCC_DeInit();

//设置外部高速晶振

RCC_HSEConfig(RCC_HSE_ON);

//等候HSE起振

HSEStatusUpStatus = RCC_WaitForHSEStatusUp();

if(HSEStatusUpStatus == SUCESS)

{

//预取指缓存使能

FLASH_PrefetchBufferCmd(FLASH_PertchBuffer_Enable);

//设置代码延时值,FLASH_Latency_2,2 延时周期

FLASH_SetLatency(FLASH_Latency_2);

//设置AHB时钟(HCLK)

//RCC_SYSCLK_Div1 AHB 时钟 = 体系时钟

RCC_HCLKConfig(RCC_SYSCLK_Div1);

//设置高速AHB2为体系时钟

RCC_PCLK2Config(RCC_HCLK_Div1);

//设置低速AHB时钟

RCC_PCLK2Config(RCC_HCLK_Div2);

//设置PLL时钟

RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);

//使能PLL

RCC_PLLCmd(enable);

// 等候指定RCC标志位设置成功,等候PLL初始化成功

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

{

}

//设置PLL为体系时钟

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK)

//0x00 HSI,0X04 HSE,0X08 PLL

while(RCC_GetSYSCLKSource() != 0x08)

{

}

}
来历;21ic

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/343842.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部