1、一 时钟管理1 恢复相关的时钟寄存器到默认值void CLK_DeInit()2 启用或关闭外部高速振荡器(HSE)void CLK_HSECmd(FunctionState NewState)启用 CLK_HSECmd(ENABLE)关闭 CLK_HSECmd(DISABLE)3 启用或关闭内部高速振荡器(HSI)void CLK_HSICmd(FunctionState NewState)启用 CLK_HSICmd(ENABLE)关闭 CLK_HSICmd(DISABLE)4 启用或关闭内部低速振荡器(LSI)void CLK_LSICmd(FunctionState NewState)关
2、闭 CLK_LSICmd(DISABLE);启用 CLK_LSICmd(ENABLE);5 启用或关闭时钟输出功能void CLK_CCOCmd(FunctionState NewState)关闭 CLK_CCOCmd(DISABLE);启用 CLK_CCOCmd(ENABLE);6 启用或关闭时钟切换void CLK_ClockSwitchCmd(FunctionState NewState)关闭 CLK_ClockSwitchCmd(DISABLE);启用 CLK_ClockSwitchCmd(ENABLE);7 启用或关闭快速唤醒void CLK_FastHaltWakeUpCmd(Fu
3、nctionState NewState)关闭 CLK_FastHaltWakeUpCmd(DISABLE);启用 CLK_FastHaltWakeUpCmd(ENABLE);8 启用或关闭活跃停机模式下的电压调节器CLK_SlowActiveHaltWakeUpCmd(FunctionState NewState)关闭 CLK_SlowActiveHaltWakeUpCmd(DISABLE);启用 CLK_SlowActiveHaltWakeUpCmd(ENABLE);9 启用或关闭指定的时钟中断CLK_PeripheralClockConfig(CLK_IT_TypeDef CLK_IT,
4、 FunctionState NewState)参数 1:I2C 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, ENABLE);参数 1:SPI 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);参数 1:UART1 参数 2: ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, ENABLE);参数 1:UART2 参数 2: ENABLE CLK_PeripheralClockCon
5、fig(CLK_PERIPHERAL_UART2, ENABLE);参数 1:UART3 参数 2: ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART3, ENABLE);参数 1:TIMER1 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);参数 1:TIMER2 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2, ENABLE);参数 1:TIMER3 参数 2:ENABLE
6、CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3, ENABLE);参数 1:TIMER4 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, ENABLE);参数 1:TIMER5 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER5, ENABLE);参数 1:TIMER6 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER6, ENABLE);
7、参数 1:AWU 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, ENABLE);参数 1:ADC 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC, ENABLE);参数 1:CAN 参数 2:ENABLE CLK_PeripheralClockConfig(CLK_PERIPHERAL_CAN, ENABLE);10 系统时钟切换配置CLK_ClockSwitchConfig(CLK_SwitchMode_TypeDef CLK_SwitchMode, CLK
8、_Source_TypeDef CLK_NewClock,FunctionState ITState, CLK_CurrentClockState_TypeDef CLK_CurrentClockState)参数 1:手动切换 参数 2:内部高速振荡器 参数 3:关闭 参数 4:继续启用ErrorStatus clk_return_status;clk_return_status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_MANUAL, CLK_SOURCE_HSI, ENABLE, CLK_CURRENTCLOCKSTATE_ENABLE);参数 1:自动
9、切换 参数 2:内部低速振荡器 参数 3:关闭 参数 4:关闭ErrorStatus clk_return_status;clk_return_status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_LSI, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);参数 1:自动切换 参数 2:外部高速振荡器 参数 3:关闭 参数 4:关闭ErrorStatus clk_return_status;clk_return_status = CLK_ClockSwitchConfig(CLK_SWITCH
10、MODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);11 配置内部高速振荡器(HSI)的分频器void CLK_HSIPrescalerConfig(CLK_Prescaler_TypeDef HSIPrescaler)1 分频 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);2 分频 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);4 分频 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDI
11、V4);8 分频 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);12 配置时钟输出脚(CCO)的时钟源Void CLK_CCOConfig(CLK_Output_TypeDef CLK_CCO)参数 1:内部高速振荡器/分频值 CLK_CCOConfig(CLK_OUTPUT_HSI);参数 1:内部低速振荡器 CLK_CCOConfig(CLK_OUTPUT_LSI);参数 1:外部高速振荡器 CLK_CCOConfig(CLK_OUTPUT_HSE);参数 1:CPU 时钟 1 分频 CLK_CCOConfig(CLK_OUTPUT_CPU);
12、参数 1:CPU 时钟 2 分频 CLK_CCOConfig(CLK_OUTPUT_CPUDIV2);参数 1:CPU 时钟 4 分频 CLK_CCOConfig(CLK_OUTPUT_CPUDIV4);参数 1:CPU 时钟 8 分频 CLK_CCOConfig(CLK_OUTPUT_CPUDIV8);参数 1:CPU 时钟 16 分频 CLK_CCOConfig(CLK_OUTPUT_CPUDIV16);参数 1:CPU 时钟 32 分频 CLK_CCOConfig(CLK_OUTPUT_CPUDIV32);参数 1:CPU 时钟 64 分频 CLK_CCOConfig(CLK_OUTPU
13、T_CPUDIV64);参数 1:fHSI CLK_CCOConfig(CLK_OUTPUT_HSIRC);参数 1:fMASTER CLK_CCOConfig(CLK_OUTPUT_MASTER);参数 1:其它/fCPU CLK_CCOConfig(CLK_OUTPUT_OTHERS);13 启用或关闭指定的外设时钟Void CLK_PeripheralClockConfig(CLK_Peripheral_TypeDef CLK_Peripheral,FunctionalState NewState)参数 1:时钟安全系统检测标志 参数 2:启用CLK_ITConfig(CLK_IT_CS
14、SD, ENABLE);参数 1:时钟切换中断标志 参数 2:关闭CLK_ITConfig(CLK_IT_SWIF, DISABLE);14 配置系统时钟分频器Void CLK_SYSCLKConfig(CLK_Prescaler_TypeDef CLK_Prescale)参数 1:内部高速振荡器 1 分频 CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);参数 1:内部高速振荡器 2 分频 CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV2);参数 1:内部高速振荡器 4 分频 CLK_SYSCLKConfig(CLK_PRESCALE
15、R_HSIDIV4);参数 1:内部高速振荡器 8 分频 CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV8);参数 1:CPU 时钟 1 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);参数 1:CPU 时钟 2 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2);参数 1:CPU 时钟 4 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV4);参数 1:CPU 时钟 8 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV8);参数
16、1:CPU 时钟 16 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV16);参数 1:CPU 时钟 32 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV32);参数 1:CPU 时钟 64 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV64);参数 1:CPU 时钟 128 分频 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV128);15 配置 SWIM 时钟分频器void CLK_SWIMConfig(CLK_SWIMDivider_TypeDef CLK_S
17、WIMDivider)参数 1:2 分频 CLK_SWIMConfig(CLK_SWIMDIVIDER_2);参数 1:不分频 CLK_SWIMConfig(CLK_SWIMDIVIDER_OTHER);16 配置 CAN 时钟频率Void CLK_CANConfig(CLK_CANDivider_TypeDef CLK_CANDivider)参数 1:时钟频率=HSE/1 CLK_CANConfig(CLK_CANDIVIDER_1);参数 1:时钟频率=HSE/2 CLK_CANConfig(CLK_CANDIVIDER_2);参数 1:时钟频率=HSE/3 CLK_CANConfig(C
18、LK_CANDIVIDER_3);参数 1:时钟频率=HSE/4 CLK_CANConfig(CLK_CANDIVIDER_4);参数 1:时钟频率=HSE/5 CLK_CANConfig(CLK_CANDIVIDER_5);参数 1:时钟频率=HSE/6 CLK_CANConfig(CLK_CANDIVIDER_6);参数 1:时钟频率=HSE/7 CLK_CANConfig(CLK_CANDIVIDER_7);参数 1:时钟频率=HSE/8 CLK_CANConfig(CLK_CANDIVIDER_8);17 启用时钟安全系统Void CLK_ClockSercuritySystemEna
19、ble(void)18 清除时钟切换忙标志Void CLK_SYSCLKEmergencyClear(void)19 修正内部高速振荡器频率Void CLK_AdjustHSICalibrationValue(CLK_HSITrimValue_TypeDef CLK_HSITrimValue)参数 1:校准值为 0 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_0);参数 1:校准值为 1 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_1);参数 1:校准值为 2 CLK_AdjustHSICali
20、brationValue(CLK_HSITRIMVALUE_2);参数 1:校准值为 3 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_3);参数 1:校准值为 4 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_4);参数 1:校准值为 5 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_5);参数 1:校准值为 6 CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_6);参数 1:校准值为 7 CLK_Adj
21、ustHSICalibrationValue(CLK_HSITRIMVALUE_7);20 获得系统时钟频率u32 CLK_GetClockFreq()21 获得系统时钟源CLK_GetSYSCLKSource(void)22 获得时钟标志状态CLK_GetFlagStatus(CLK_FLAG_TypeDef CLK_FLAG)参数 1:内部低速振荡器就绪标志位 CLK_GetFlagStatus(CLK_FLAG_LSIRDY);参数 1:内部高速振荡器就绪标志位 CLK_GetFlagStatus(CLK_FLAG_HSIRDY);参数 1:外部高速振荡器就绪标志位 CLK_GetFla
22、gStatus(CLK_FLAG_HSERDY);参数 1:时钟切换中断标志位 CLK_GetFlagStatus(CLK_FLAG_SWIF);参数 1:时钟切换忙标志位 CCLK_GetFlagStatus(CLK_FLAG_SWBSY);参数 1:时钟安全系统检测标志位 CLK_GetFlagStatus(CLK_FLAG_CSSD);参数 1:辅助振荡器开关状态位 CLK_GetFlagStatus(CLK_FLAG_AUX);参数 1:时钟输出忙标志位 CLK_GetFlagStatus(CLK_FLAG_CCOBSY);参数 1:时钟输出就绪标志位 CLK_GetFlagStatu
23、s(CLK_FLAG_CCORDY);23 获得时钟中断标志状态CLK_GetITStatus(CLK_IT_TypeDef CLK_IT)参数 1:时钟安全系统监测标志 CLK_GetITStatus(CLK_IT_CSSD);参数 1:时钟切换中断标志 CLK_GetITStatus(CLK_IT_SWIF);24 清除中断标志状态Void CLK_ClearITPendingBit(CLK_IT_ TypeDef CLK_IT);参数 1:时钟安全系统检测标志 CLK_ClearITPendingBit(CLK_IT_CSSD);参数 1:时钟切换终端标志 CLK_ClearITPendingBit(CLK_IT_SWIF);