【STM32筆記】RCC配置函數(shù) 作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢 收藏 voidRCC_Configuration(void){ErrorStatusHSEStartUpStatus;//使能外部晶振RCC_HSEConfig(RCC_HSE_ON);//等待外部晶振穩(wěn)定HSEStartUpStatus=RCC_WaitForHSEStartUp();//如果外部晶振啟動(dòng)成功,則進(jìn)行下一步操作if(HSEStartUpStatus==SUCCESS){//設(shè)置HCLK(AHB時(shí)鐘)=SYSCLKRCC_HCLKConfig(RCC_SYSCLK_Div1);//PCLK1(APB1) = HCLK/2RCC_PCLK1Config(RCC_HCLK_Div2);//PCLK2(APB2) = HCLKRCC_PCLK2Config(RCC_HCLK_Div1);//設(shè)置ADC時(shí)鐘頻率RCC_ADCCLKConfig(RCC_PCLK2_Div2);//FLASH時(shí)序控制//推薦值:SYSCLK = 0~24MHzLatency=0//SYSCLK = 24~48MHz Latency=1//SYSCLK = 48~72MHz Latency=2FLASH_SetLatency(FLASH_Latency_2);//開(kāi)啟FLASH預(yù)取指功能FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//PLL設(shè)置 SYSCLK/1 * 9 = 8*1*9 = 72MHzRCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//啟動(dòng)PLLRCC_PLLCmd(ENABLE);//等待PLL穩(wěn)定while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//系統(tǒng)時(shí)鐘SYSCLK來(lái)自PLL輸出RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//切換時(shí)鐘后等待系統(tǒng)時(shí)鐘穩(wěn)定while(RCC_GetSYSCLKSource()!=0x08);}
評(píng)論