×
单片机 > 单片机程序设计 > 详情

STM32系统初始化模板函数

发布时间:2020-05-22 发布时间:
|

第一次写,也不知道写些啥,就copy一个STM32 系统时钟初始化模板函数吧,以来分享给新手参考,而来自己当做备份一下。

有大神看到觉不妥之处请指出,勿喷!谢谢!

void SYS_Init(void)

{

uint8_t HSEStartUpStatus;

RCC_DeInit(); //将RCC设置为默认的重置状态

RCC_HSEConfig(RCC_HSE_ON); //配置外部高速晶振  (HSE - ON)

HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待外部时钟就绪

if(HSEStartUpStatus == SUCCESS)   //SUCCESS:外部时钟(HSE)稳定就绪

{

RCC_HCLKConfig(RCC_SYSCLK_Div1); // 设置 (AHB)时钟:RCC_SYSCLK_Div1 -不分频(AHB时钟 = 系统时钟)

RCC_PCLK2Config(RCC_HCLK_Div1);  //时钟APB时钟(PCLK2) :RCC_HCLK_Div1: APB2 clock = HCLK

RCC_PCLK1Config(RCC_HCLK_Div2);  //时钟APB时钟(PCLK1) :RCC_HCLK_Div2: APB1 clock = HCLK/2

FLASH_SetLatency(FLASH_Latency_2); //设置FLASH 存储器延时时钟周期

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //预区缓存器使能 

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //设置PLL时钟源为HSE,倍频系数为 9

RCC_PLLCmd(ENABLE);  //使能PLL

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

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

while(RCC_GetSYSCLKSource() != 0x08) ;  //等待PLL时钟成为系统时钟

}

}


关键字:STM32系统  初始化  模板函数 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
采用AT89C2051的数字可调稳压电源单片机源程序