void LowPower_CLK_Config(void) { CLK_SYSCLKSourceSwitchCmd(ENABLE);//使能时钟切换 CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);//选择内部低速时钟作为时钟源 CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//设置系统时钟分频 while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI);//等待时钟稳定 CLK_HSICmd(DISABLE); //关闭原先的 CLK source CLK_HSEConfig(CLK_HSE_OFF); //关闭外部 CLK source }
/** * @brief Configure System Clock * @param None * @retval None */ static void CLK_Config(void) { /* Select HSE as system clock source */ CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE); /* system clock prescaler: 1*/ CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE) {} }
/*********************************************************************** * @brief Configure System Clock * @param None * @retval None ************************************************************************/ static void CLK_Config(void) { // Select HSI as system clock source CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI); // system clock prescaler: 1 CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI) {} }
/** * @brief Configure peripherals Clock * @param None * @retval None */ static void CLK_Config(void) { /* High speed internal clock prescaler: 1 */ CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); /* Select HSE as system clock source */ CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE); while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE) {} /* Enable TIM4 CLK */ CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE); }
/** * @brief Configure peripheral clock * @param None * @retval None */ static void CLK_Config(void) { /* Select HSE as system clock source */ CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE); /*High speed external clock prescaler: 1*/ CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_2); while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE) {} /* Enable SPI clock */ CLK_PeripheralClockConfig(CLK_Peripheral_SPI1, ENABLE); /* Enable DMA clock */ CLK_PeripheralClockConfig(CLK_Peripheral_DMA1, ENABLE); }