标题:
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