3.5、SetSysClock( )函数 在SetSysClock函数中,配置了系统时钟,PLL倍频以及分频系数: /** * @brief Configures the System clock source, PLL Multiplier and Divider factors, * AHB/APBx prescalers and Flash settings * @Note This function should be called only once the RCC clock configuration * is ...
2 编写主函数获取系统时钟频率。RCC_ClocksTypeDef RCC_CLK;int main(void){vSystem_Init();RCC_GetClocksFreq(&RCC_CLK);//Get chip frequencies#if ( USE_SEGGER_RTT_ENABLE > 0 )//Use segger rtt enableSEGGER_RTT_printf(0, "System Clock Source : %d\r\n", RCC_GetSYSCLKSource());SEGGER_...
RCC(Reset and Clock Control)主要负责系统时钟的控制和管理,它提供了一系列的寄存器,用于配置和控制处理器的时钟源、时钟频率和时钟分频器,以及外设的时钟使能和配置。在 《STM32F1xx 中文参考手册》中有RCC寄存器描述,本文不再缀述。五、SystemInit()初始化时钟分析 系统复位后,HSI被选为系统时钟。在STM32的...
voidSystemCoreClockUpdate(void){uint32_ttmp=0,pllvco=0,pllp=2,pllsource=0,pllm=2;/* Get SYSCLK source ---*/tmp=RCC->CFGR&RCC_CFGR_SWS;switch(tmp){case0x00:/* HSI used as system clock source */SystemCoreClock=HSI_VALUE;break;case0x04:/* HSE used as system clock source */SystemCor...
1intmain(void)2{3u32 fre1;4fre1 =2;5fre1 =HAL_RCC_GetSysClockFreq();67/*选择时钟源为HSE*/8RCC->CR |=0X1<<16; //开启HSE时钟9while((RCC->CR & 0X1<<16) == 1); //等待HSERDY就绪1011RCC->CFGR |=0X1; //时钟源选择为HSE1213fre1 =HAL_RCC_GetSysClockFreq();14} ...
sys_clk = HAL_RCC_GetSysClockFreq(); while(1); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 使用外部时钟源HSE作为PLL的时钟源,然后将PLL作为系统时钟源 与前面类似,这里设置外部高速时钟HSE作为系统时钟,仍是设置两个结构体。
在system_stm32f10x.c文件下,有默认定义SYSCLK_FREQ_72MHz,同时在SystemInit()函数下调用了SetSysClock(),根据宏定义将时钟设为72M。 读取SystemCoreClock变量即可获得系统时钟频率。 在默认情况下,系统的各个时钟频率如下: SYSCLK:72M AHB:72M APB1(PCLK1):36M ...
voidSystemCoreClockUpdate(void){uint32_t tmp=0,pllvco=0,pllp=2,pllsource=0,pllm=2;/* Get SYSCLK source ---*/tmp=RCC->CFGR&RCC_CFGR_SWS;switch(tmp){case0x00:/* HSI used as system clock source */SystemCoreClock=HSI_VALUE;break;case0x04:/* HSE used as system clock source */...
while (RCC_GetSYSCLKSource() != 0x08) // Wait till PLL is used as system clock source { ; } } } 随之函数库的不断升级,到3.0以上时,我们就不用再这样编写时钟设置了,我们只要做如下两部即可: 第一个: system_stm32f10x.c 中 #define SYSCLK_FREQ_72MHz 72000000 ...
*/SystemClock_Config();// 调用库函数来检验自己的配置是否成功配置为系统频率64MHzsys_clk=HAL_RCC_GetSysClockFreq();while(1);} 3)使用外部时钟源HSE作为PLL的时钟源,然后将PLL作为系统时钟源 与前面类似,这里设置外部高速时钟HSE作为系统时钟,仍是设置两个结构体。