STM32之RCC时钟树
文章目录
- 前言
- 一、了解他们的用法
- 二、使用步骤
- 1.打开RCC,使之重新初始化
- 2.打开HSE,并判断其已经是否稳定
- 3.提前预取值
- 4.进入到PLL锁相环,进行倍频和判断锁相环的来源,并判断稳定性
- 5.进入系统时钟,并判断系统时钟的来源
-
//1.打开RCC,使之重新初始化
RCC_DeInit();
- 2.打开HSE,并判断其已经是否稳定
-
2.打开HSE,并判断其已经是否稳定
RCC_HSEConfig(RCC_HSE_ON);
if(RCC_WaitForHSEStartUp()==SUCCESS)
- 3.提前预取值
-
3.提前预取值
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1); - 4.进入到PLL锁相环,进行倍频和判断锁相环的来源,并判断稳定性
-
4.进入到PLL锁相环,进行倍频和判断锁相环的来源,并判断稳定性
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSERDY)!=SET)
{
} - 5.进入系统时钟,并判断系统时钟的来源
-
5.进入系统时钟,并判断系统时钟的来源
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08)
{
} - 要看懂这张图
-
-
1.打开RCC,使之重新初始化
2.打开HSE,并判断其已经是否稳定
3.提前预取值
4.进入到PLL锁相环,进行倍频和判断锁相环的来源,并判断稳定性
5.进入系统时钟,并判断系统时钟的来源
void RCCCLKConfog(uint32_t RCC_PLLMul_x)
{
//1.打开RCC,使之重新初始化
RCC_DeInit();
2.打开HSE,并判断其已经是否稳定
RCC_HSEConfig(RCC_HSE_ON);
if(RCC_WaitForHSEStartUp()==SUCCESS)
{
3.提前预取值
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1);
4.进入到PLL锁相环,进行倍频和判断锁相环的来源,并判断稳定性
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSERDY)!=SET)
{
}
5.进入系统时钟,并判断系统时钟的来源
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08)
{
}
}
else
{
}
}