当前位置:首页 > 单片机 > 单片机
[导读]MCU:STM32F334C8T6Frameware:STM32F3348-Discovery_FW_V1.0.0RCC时钟配置步骤:重置RCC为默认值:RCC_DeInit(); 库函数中可以查到这个函数选择HSI为系统时钟(见图)打开外部高速时钟晶振HSE等待HSE工作设置AHB时钟

MCU:STM32F334C8T6

Frameware:STM32F3348-Discovery_FW_V1.0.0

RCC时钟配置步骤:


重置RCC为默认值:RCC_DeInit(); 库函数中可以查到这个函数选择HSI为系统时钟(见图)

打开外部高速时钟晶振HSE

等待HSE工作

设置AHB时钟

设置高速APB(2)时钟

设置低速APB(1)时钟

设置PLL

打开PLL

等待PLL工作

设置系统时钟

等待系统时钟设置成功

打开所需时钟

代码:


voidRCC_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时钟树:


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭