/****************************************************************************
*
* 名称: RCC_Configuration
*
* 描述: 设置系统时钟
*
* 返回: 无
*
****************************************************************************/
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit(); //RCC复位
RCC_HSEConfig(RCC_HSE_ON); //使能外部时钟
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待外部时钟就绪
if(HSEStartUpStatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //预取址缓存使能
FLASH_SetLatency(FLASH_Latency_2); //FLASH存储器延迟2周期
RCC_HCLKConfig(RCC_SYSCLK_Div1); //设置AHB时钟为系统时钟
RCC_PCLK2Config(RCC_HCLK_Div1); //设置高速时钟为AHB时钟
RCC_PCLK1Config(RCC_HCLK_Div2); //设置低速时钟为AHB时钟2分频
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //设置PLL为72M
RCC_PLLCmd(ENABLE); //使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) //等待PLL
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //设置PLL为系统时钟
while(RCC_GetSYSCLKSource() != 0x08) //等待设置完成
{
}
}
}
stm32系统时钟配置函数
最新推荐文章于 2024-01-27 08:32:12 发布