您的位置 首页 国产IC

【STM32笔记】RCC装备函数

voidRCC_Configuration(void){ErrorStatusHSEStartUpStatus;使能外部晶振RCC_HSEConfig(RCC_HSE_ON);等待外部晶振稳定HSES

voidRCC_Configuration(void)
{
ErrorStatusHSEStartUpStatus;

//使能外部晶振
RCC_HSEConfig(RCC_HSE_ON);
//等候外部晶振安稳
HSEStartUpStatus=RCC_WaitForHSEStartUp();
//假如外部晶振发动成功,则进行下一步操作
if(HSEStartUpStatus==SUCCESS)
{
//设置HCLK(AHB时钟)=SYSCLK
RCC_HCLKConfig(RCC_SYSCLK_Div1);

//PCLK1(APB1) = HCLK/2
RCC_PCLK1Config(RCC_HCLK_Div2);

//PCLK2(APB2) = HCLK
RCC_PCLK2Config(RCC_HCLK_Div1);

//设置ADC时钟频率
RCC_ADCCLKConfig(RCC_PCLK2_Div2);

//FLASH时序操控
//推荐值:SYSCLK = 0~24MHzLatency=0
//SYSCLK = 24~48MHz Latency=1
//SYSCLK = 48~72MHz Latency=2
FLASH_SetLatency(FLASH_Latency_2);
//敞开FLASH预取指功用
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

//PLL设置 SYSCLK/1 * 9 = 8*1*9 = 72MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
//发动PLL
RCC_PLLCmd(ENABLE);
//等候PLL安稳
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
//体系时钟SYSCLK来自PLL输出
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//切换时钟后等候体系时钟安稳
while(RCC_GetSYSCLKSource()!=0x08);


}

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部