STM32|STM32F334系统时钟的配置RCC_Config()

MCU:STM32F334C8T6
Frameware:STM32F3348-Discovery_FW_V1.0.0
RCC时钟配置步骤:

  1. 重置RCC为默认值:RCC_DeInit(); 库函数中可以查到这个函数选择HSI为系统时钟(见图)
  2. 打开外部高速时钟晶振HSE
  3. 等待HSE工作
  4. 设置AHB时钟
  5. 设置高速APB(2)时钟
  6. 设置低速APB(1)时钟
  7. 设置PLL
  8. 打开PLL
  9. 等待PLL工作
  10. 设置系统时钟
  11. 等待系统时钟设置成功
  12. 打开所需时钟
代码:
void RCC_Config(void) { // 1. 默认设置,HSI为系统时钟: 8M RCC_DeInit(); // 2. 打开HSE : 8M RCC_HSEConfig(RCC_HSE_ON); // 3. 等待 RCC_WaitForHSEStartUp(); // 4. 设置AHB = SYSCLK RCC_HCLKConfig(RCC_SYSCLK_Div1); // 5. 设置APB2 = AHB RCC_PCLK2Config(RCC_HCLK_Div1); // 6. 设置APB1 = AHB/2 RCC_PCLK1Config(RCC_HCLK_Div2); // 7. 设置PLL, Source = 8M , PLLMul = 9 RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9); // 8. 打开PLL RCC_PLLCmd(ENABLE); // 9. 等等PLL 就绪 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); // 10. 设置系统时钟SYSCLK=PLLCLK=8*9=72M RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // 11.等待设置成功 while(RCC_GetSYSCLKSource() != 0x08); // 12. 打开使用的时钟 //.............. }

设置完成,系统时钟 :SYSCLK=72M,AHB: HCLK=72M,APB2:PCLK2=72M,PAB1:PCLK1=36M
附图: STM32F334xx时钟树:
STM32|STM32F334系统时钟的配置RCC_Config()
文章图片


wind2015,03,28
【STM32|STM32F334系统时钟的配置RCC_Config()】

    推荐阅读