当前位置:文档之家› stm8固件库(时钟部分)

stm8固件库(时钟部分)

stm8固件库(时钟部分)
stm8固件库(时钟部分)

一时钟管理

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)

关闭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(FunctionState 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, 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_PeripheralClockConfig(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

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);

参数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_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:自动切换参数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_SWITCHMODE_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_HSIDIV4);

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);

参数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_OUTPUT_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_CSSD, 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_PRESCALER_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);

参数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_SWIMDivider)

参数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(CLK_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_ClockSercuritySystemEnable(void)

18 清除时钟切换忙标志

Void CLK_SYSCLKEmergencyClear(void)

19 修正内部高速振荡器频率

Void CLK_AdjustHSICalibrationValue(CLK_HSITrimValue_TypeDef CLK_HSITrimValue)

参数1:校准值为0 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_0);

参数1:校准值为1 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_1);

参数1:校准值为2 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_2);

参数1:校准值为3 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_3);

参数1:校准值为4 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_4);

参数1:校准值为5 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_5);

参数1:校准值为6 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_6);

参数1:校准值为7 CLK_AdjustHSICalibrationValue(CLK_HSITRIMV ALUE_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_GetFlagStatus(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_GetFlagStatus(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);

相关主题
文本预览
相关文档 最新文档