MCU:STM32F334C8T6
Frameware:STM32F3348-Discovery_FW_V1.0.0
RCC时钟配置步骤:
- 重置RCC为默认值:RCC_DeInit(); 库函数中可以查到这个函数选择HSI为系统时钟(见图)
- 打开外部高速时钟晶振HSE
- 等待HSE工作
- 设置AHB时钟
- 设置高速APB(2)时钟
- 设置低速APB(1)时钟
- 设置PLL
- 打开PLL
- 等待PLL工作
- 设置系统时钟
- 等待系统时钟设置成功
- 打开所需时钟
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时钟树:
文章图片
wind2015,03,28
【STM32|STM32F334系统时钟的配置RCC_Config()】
推荐阅读
- stm32|基于STM32和freeRTOS智能门锁设计方案
- 日常分享|共享充电宝方案原理,具体部件组成以及主控MUC参数
- #|ARM裸机开发(汇编LED灯实验(I.MX6UL芯片))
- STM32|STM32的四种IO输出模式
- STM32 远程升级(ISP / IAP)
- stm32|stm32f103can总线过滤器配置
- STM32CubeMX配置SDIO模式(非DMA方式)
- STM32|如何建一个STM32F030标准库工程模板
- STM32 时钟RCC相关配置参考stm32f10x_rcc.h
- STM32 NVIC