STM32学习之路-用STM32库函数配置RCCc

来源:互联网 发布:仓鼠翻译软件 编辑:程序博客网 时间:2024/06/04 23:21

利用STM32提供的RCC函数配置RCC


定义错误状态变量

ErrorStatus HSEStartUp;


初始化RCC状态寄存器

RCC_DeInit();


使能高速外部晶振HSE

RCC_HSEConfig(RCC_HSE_ON);

参数有3个:

RCC_HSE_OFF: HSE oscillator OFF

RCC_HSE_ON: HSE oscillator ON

RCC_HSE_Bypass: HSE oscillator bypassed with external clock 


等待高速外部晶振工作

HSEStartUp = RCC_WaitForHSEStartUp();

if (HSEStartUp == SUCCESS)

{

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

      FLASH_SetLatency(FLASH_Latency_2);


RCC_HCLKConfig(RCC_SYSCLK_Div1);  //HCLK == SYSCLK

RCC_PCLK1Config(RCC_HCLK_Div1); // PCLK1 == HCLK

RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK2 == HCLK


RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //PLL为HSE的9倍频 9*8=72MHZ        

RCC_PLLCmd(ENABLE); //使能PLL

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //等待PLL准备就绪


RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //设置PLL为系统时钟源

while(RCC_GetSYSCLKSource() != 0x80);  //判断PLL是否为系统时钟

}


0 0