或者内部RC振荡器(HSI) 为8MHz/2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后为72MHz。 2.4 LSE时钟 LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。 LSE晶体通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。 在备...
设置PLL:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);打开PLL:RCC_PLLCmd(ENABLE);等待...
void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);//设置PLL时钟源及倍频系数 //输入:RCC_PLLSource_HSI_Div2,RCC_PLLSource_HSE_Div1,RCC_PLLSource_HSE_Div2 //输入:RCC_PLLMul_2到RCC_PLLMul_16 void RCC_PLLCmd(FunctionalState NewState);//使能或者失能PLL //输入:ENABLE或者DISAB...
复位RCC->CFGR中的PLLSRC、PLLXTPRE、PLLMUL[3:0]、USBPRE 关闭RCC->CIR中的所有中断 2、使能外部高速时钟晶振HSE 3、等待外部高速时钟晶振工作稳定 4、设置AHB时钟的预分频(在这之前要先执行FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); FLASH_SetLatency(FLASH)) 5、设置APB1时钟的预分频 6、设置APB...
来源:(HSI/2、HSE)经过倍频所得。一般常用HSE的8M*PLL9倍频=72M。 控制:CFGR:PLLXTPRE,PLLMUL 注意:PLL时钟源头使用HSI/2的时候,PLLMUL最大只能是16,这个时候PLLCLK最大只能是64M,小于ST官方推荐的最大时钟72M HCLK时钟 配置好系统时钟后,AHB下有很多总线,APB1、APB2下挂着很多外设。
或者内部RC振荡器(HSI) 为8MHz /2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后为72MHz PS: 网上有很多人说是5个时钟源,这种说法有点问题,学习之后就会发现PLL并不是自己产生的时钟源,而是通过其他三个时钟源倍频得到的时钟 2系统时钟SYSCLK ...
// PLL的输入时钟= HSE时钟频率;RCC_PLLMul_9——PLL输入时钟x 9 /*使能PLL */ RCC_PLLCmd(...
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);/* Enable PLL */ RCC_PLLCmd(ENABLE);/...
注意:PLL的输出频率不能超过72MHZ ***END***/ #define RCC_PLLMul_2 ((u32)0x00000000) #define RCC_PLLMul_3 ((u32)0x00040000) #define RCC_PLLMul_4 ((u32)0x00080000) #define RCC_PLLMul_5 ((u32)0x000C0000) #define RCC_PLLMul_6 ((u32)0x00100000) #define...
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//设置PLL时钟源, //外部时钟不分频,为HSE的9倍频8MHz * 9 = 72MHz RCC_PLLCmd(ENABLE);//使能PLL while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//等待PLL准备就绪 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置PLL为系统时钟源...