STM32F4时钟配置库函数详解.pdfVIP

  • 2
  • 0
  • 约1.47千字
  • 约 4页
  • 2022-11-28 发布于安徽
  • 举报
STM32F4时钟配置库函数详解 在STM32中,所有的应⽤都是基于时钟,所以时钟的配置就尤为重要了,⽽不能仅仅只知道使⽤默认时 钟。 STM32F4的时钟树如上图所⽰,HSE为外部接⼊的⼀个8M的时钟,然后再给PLL提供输⼊时钟,经过分 频倍频后产⽣PLLCLK时钟,为SYSCLK提供基础时钟来源。 配置的步骤: 1. 将RCC寄存器重新设置为默认值 2. 打开外部⾼速时钟晶振HSE 3. 等待HSE时钟晶振⼯作 4. 设置AHB时钟也就是HCLK时钟 5. 设置⾼速APB1时钟也就是PCLK1 6. 设置低速APB2时钟也就是PCLK2 7. 设置PLL 8. 打开PLL 9. 等待PLL⼯作 10. 设置系统时钟 11. 判断系统时钟是否为PLL时钟 重点设置为PLL的配置: void RCC_PLLConfig( uint32_t RCC_PLLSource, uint32_t PLLM, uint32_t PLLN, uint32_t PLLP, uint32_t PLLQ) RCC_PLLSource为选择的输⼊时钟源,在这⾥为HSE PLLM :VCO输⼊时钟分频因⼦,取值2-63 经分频后输⼊时钟范围要在1-2M内PLLN :VCO输出时钟倍 频因⼦,取值192-432经倍频后输出时钟范围要在192-432 PLLP:SYSCLK时钟分频因⼦,取值2、4、6、8 PLLQ:OTG、FS、SDIO、RNG时钟分频因⼦,取值4-15 ,分频后最⾼48M PLL_VCO输出时钟 = (RCC_PLLSource/PLLM)*PLLN SYSCLK = ( (RCC_PLLSource/PLLM)*PLLN)/PLLP OTG、FS、SDIO、RNG Clock = ( (RCC_PLLSource/PLLM)*PLLN)/PLLN 所以要将系统时钟配置成120M则应设置参数(RCC_PLLSource_HSE,8,240,2,2);在这⾥RCC_PLLConfig (RCC_PLLSource_HSE,8,240,2,2); SYSClock = 8/8*240/2 = 120M void RCC_ClockConfig(void) { RCC_DeInit(); RCC_HSEConfig( RCC_HSE_ON ); if(SUCCESS RCC_WaitForHSEStartUp()) { RCC_HCLKConfig (RCC_SYSCLK_Div1); RCC_PCLK1Config (RCC_HCLK_Div1); RCC_PCLK2Config (RCC_HCLK_Div1); RCC_PLLConfig (RCC_PLLSource_HSE,8,240,2,2); //SYSClock = 8/8*240/2 = 120M RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus ( RCC_FLAG_PLLRDY) RESET ) { } RCC_SYSCLKConfig ( RCC_SYSCLKSource_PLLCLK ); while(RCC_GetSYSCLKSource() != 0x08) { } } } 时钟信号可由PA8和PC9引脚输出查看。

文档评论(0)

1亿VIP精品文档

相关文档