【STM32笔记】RCC配置函数 作者: 时间:2016-11-28 来源:网络 加入技术交流群 扫码加入和技术大咖面对面交流海量资料库查询 收藏 voidRCC_Configuration(void){ErrorStatusHSEStartUpStatus;//使能外部晶振RCC_HSEConfig(RCC_HSE_ON);//等待外部晶振稳定HSEStartUpStatus=RCC_WaitForHSEStartUp();//如果外部晶振启动成功,则进行下一步操作if(HSEStartUpStatus==SUCCESS){//设置HCLK(AHB时钟)=SYSCLKRCC_HCLKConfig(RCC_SYSCLK_Div1);//PCLK1(APB1) = HCLK/2RCC_PCLK1Config(RCC_HCLK_Div2);//PCLK2(APB2) = HCLKRCC_PCLK2Config(RCC_HCLK_Div1);//设置ADC时钟频率RCC_ADCCLKConfig(RCC_PCLK2_Div2);//FLASH时序控制//推荐值:SYSCLK = 0~24MHzLatency=0//SYSCLK = 24~48MHz Latency=1//SYSCLK = 48~72MHz Latency=2FLASH_SetLatency(FLASH_Latency_2);//开启FLASH预取指功能FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//PLL设置 SYSCLK/1 * 9 = 8*1*9 = 72MHzRCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//启动PLLRCC_PLLCmd(ENABLE);//等待PLL稳定while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//系统时钟SYSCLK来自PLL输出RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//切换时钟后等待系统时钟稳定while(RCC_GetSYSCLKSource()!=0x08);}
评论