Bits 21:18 PLLMUL: PLL multiplication factorThese bits are written by software to define the PLL multiplication factor. These bits can bewritten only when PLL is disabled.Caution: The PLL output frequency must not exceed 72 MHz.0000: PLL input clock x 20001: PLL input clock x 30010: PL...
或者内部RC振荡器(HSI) 为8MHz /2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后为72MHz PS: 网上有很多人说是5个时钟源,这种说法有点问题,学习之后就会发现PLL并不是自己产生的时钟源,而是通过其他三个时钟源倍频得到的时钟 2系统时钟SYSCLK 系统时钟SYSCLK可来源于三个时钟源: ①、HSI振荡...
RCC->CFGR &= 0xF8FF0000; //复位RCC->CFGR中的SW[1:0],HPRE[3:0],PRE1[2:0],PRE2[2:0],ADCPRE[2:0],MCO[2:0] RCC->CR &= 0xFEF2FFFF; //复位HSEON、CSSON、PLLON、HSEBYP RCC->CFGR &= 0xFF80FFFF; //复位RCC->CFGR中的PLLSRC,PLLXTPRE,PLLMUL[3:0],USBPRE RCC->CIR &=...
RCC->CR |=0x00000001;//使能内部时钟HSIRCC->CFGR &=0xF8FF0000;//复位RCC->CFGR中的SW[1:0],HPRE[3:0],PRE1[2:0],PRE2[2:0],ADCPRE[2:0],MCO[2:0]RCC->CR &=0xFEF2FFFF;//复位HSEON、CSSON、PLLON、HSEBYPRCC->CFGR &=0xFF80FFFF;//复位RCC->CFGR中的PLLSRC,PLLXTPRE,PLLMUL...
设置PLL : RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL : RCC_PLLCmd(ENABLE); 等待PLL 工作: while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); 设置系统时钟: RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 判断PLL 是否是系统时钟: while(RCC_GetSYSCLKSource() != 0x08);...
设置PLL:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL:RCC_PLLCmd(ENABLE); 等待PLL工作:while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); 设置系统时钟:RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 判断PLL是否是系统时钟:while(RCC_GetSYSCLKSource() != 0x08); ...
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为系统时钟源...
设置PLL : RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL : RCC_PLLCmd(ENABLE); 等待PLL 工作: while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); 设置系统时钟: RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 判断PLL 是否是系统时钟: while(RCC_GetSYSCLKSource() != 0x08);...
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为系统时钟源...
举个例子:Keil编写程序是默认的时钟为72Mhz,其实是这么来的:外部晶振(HSE)提供的8MHz(与电路板上的晶振的相关)通过PLLXTPRE分频器后,进入PLLSRC选择开关,进而通过PLLMUL锁相环进行倍频(x9)后,为系统提供72MHz的系统时钟(SYSCLK)。之后是AHB预分频器对时钟信号进行分频,然后为低速外设提供时钟。