如果我们使用HSE 或者 HSE 经过 PLL 倍频之后的时钟作为系统时钟 SYSCLK,当 HSE 故障时候,不仅 HSE 会被关闭, PLL 也会被关闭,此时高速的内部时钟时钟信号HSI 会作为备用的系统时钟,直到 HSE 恢复正常, HSI=16M。 2. ②锁相环 PLL: PLL 的主要作用是对时钟进行倍频,然后把时钟输出到各个功能部件。 PLL 有...
10、设置系统时钟RCC_SYSCLKConfig 11、判断是否PLL是系统时钟while(RCC_GetSYSCLKSource() != 0x08) 12、打开要使用的外设时钟RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd() 在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②、HSE是高速外部时...
设置系统时钟: RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 判断PLL 是否是系统时钟: while(RCC_GetSYSCLKSource() != 0x08); 1、使用库函数进行时钟系统初始化配置 void RCC_config()//如果外部晶振为8M,PLLCLK=SYSCLK=72M,HCLK=72M,//P2CLK=72M,P1CLK=36M,ADCCLK=36M,USBCLK=48M,TIMCLK=72M { ...
5、设置高速APB时钟 RCC_PCLK2Config; 6、设置低速APB时钟 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)...
< HSI Selected as System Clock source */ uint32_tSystemCoreClock = HSI_VALUE; #endif 当系统时钟频率设置为72MHz大小时: PLL时钟:72MHz SYSCLK时钟:72MHz AHB总线时钟(使用SYSCLK为时钟源):72MHz APB1总线时钟:36MHz APB2总线时钟:72MHz
或者内部RC振荡器(HSI) 为8MHz /2 为4MHz 进入PLLSRC选择开关,通过PLLMUL锁相环进行倍频(x18)后为72MHz PS: 网上有很多人说是5个时钟源,这种说法有点问题,学习之后就会发现PLL并不是自己产生的时钟源,而是通过其他三个时钟源倍频得到的时钟 2系统时钟SYSCLK ...
通过这个开关, 可以切换SYSCLK的时钟源, 有HSI,PLLCLK,HSE三个选择. 经过这个开关之后就是STM32的系统时钟(SYSCLK)了. 选择PLLCLK时钟则SYSCLK就为72Mhz AHB预分频器, SYSCLK经过AHB预分频后输入到其他外设. 本例中AHB不分频, 直接输入到HCLK, FCLK或者SDIOCLK等时钟 ...
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //配置系统时钟 while(RCC_GetSYSCLKSource() !=0x80) //检查是否将HSE 9倍频后作为系统时钟 {} } } 设置时钟流程: 1.将RCC寄存器重新设置为默认值 RCC_DeInit 2.打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON); ...
void SetSysClockToHSE(void) { /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---*/ /* RCC system reset(for debug purpose) */ RCC_DeInit(); /* Enable HSE */ RCC_HSEConfig(RCC_HSE_ON); /* Wait till HSE is ready */ HSEStart...
2.RCC_SYSCLKConfig函数的功能是设置系统时钟,输入的参数是32位的RCC_SYSCLKSource用作系统时钟的时钟源。 该函数可取的值是RCC_SYSCLKSource_HSI/HSE/PLLCLK. 3.RCC_PCLK2Config函数的功能是设置高速AHB时钟。其输入参数是32位的RCC_PCLK2. 该函数可取的值是RCC_HCLK_Div1/2/4/8/16.分别表示分频情况。