标题: STM32时钟配置方法(STM32时钟树) [打印本页]

作者: 51hei社区    时间: 2016-1-11 05:19
标题: STM32时钟配置方法(STM32时钟树)
本帖最后由 51hei社区 于 2016-1-11 05:30 编辑

一、STM32共有5种时钟:
HSI:内部高速振荡器时钟;?
HSE:外部高速振荡器时钟;
?PLL:锁相环倍频时钟;
LSI:40kHz低速内部RC振荡器时钟;
LSE:32.768kHz外部低速振荡器时钟;
前三种可以作为系统时钟SYSCLK,LSI可以用于驱动独立看门狗和RTC,LSE可驱动RTC。
STM32时钟树如下图:

STM32F10X时钟树


二、用HSE时钟,程序设置时钟参数流程
?1、将RCC寄存器重新设置为默认值   RCC_DeInit;
?2、打开外部高速时钟晶振HSE    RCC_HSEConfig(RCC_HSE_ON);
?3、等待外部高速时钟晶振工作    HSEStartUpStatus = RCC_WaitForHSEStartUp();
?4、设置AHB时钟         RCC_HCLKConfig;
?5、设置高速AHB时钟     RCC_PCLK2Config;
?6、设置低速速AHB时钟   RCC_PCLK1Config;
7、设置PLL              RCC_PLLConfig;
?8、打开PLL              RCC_PLLCmd(ENABLE);
?9、等待PLL工作   while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
?10、设置系统时钟        RCC_SYSCLKConfig;
?11、判断是否PLL是系统时钟     while(RCC_GetSYSCLKSource() != 0x08)

?12、打开要使用的外设时钟 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1