/**************************************************************************** * * 名称: 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) //等待设置完成 { } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。