当前位置:首页 >> 信息与通信 >>

stm8固件库(时钟部分)


一 时钟管理
1 恢复相关的时钟寄存器到默认值 void CLK_DeInit()

2 启用或关闭外部高速振荡器(HSE) void CLK_HSECmd(FunctionState NewState)

启用 CLK_HSECmd(ENABLE) 关闭 CLK_HSECmd(DISABLE) 3 启用或关闭内部高速振荡器(HS

I) 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_Source_TypeDef CLK_NewClock,FunctionState CLK_CurrentClockState_TypeDef CLK_CurrentClockState)

CLK_SwitchMode, ITState,

参数 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 分频 2 分频 4 分频 8 分频

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4); 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 NewState)

CLK_Peripheral,FunctionalState

参数 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 分频 参数 1:内部高速振荡器 2 分频 参数 1:内部高速振荡器 4 分频 参数 1:内部高速振荡器 8 分频 参数 1:CPU 时钟 1 分频 参数 1:CPU 时钟 2 分频 参数 1:CPU 时钟 4 分频 参数 1:CPU 时钟 8 分频 参数 1:CPU 时钟 16 分频 参数 1:CPU 时钟 32 分频 参数 1:CPU 时钟 64 分频 参数 1: CPU 时钟 128 分频

CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV2); CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV4); CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV8); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV4); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV8); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV16); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV32); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV64); CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV128);

15 配置 SWIM 时钟分频器 void CLK_SWIMConfig(CLK_SWIMDivider_TypeDef CLK_SWIMDivider)

参数 1:2 分频 参数 1:不分频

CLK_SWIMConfig(CLK_SWIMDIVIDER_2); CLK_SWIMConfig(CLK_SWIMDIVIDER_OTHER);

16 配置 CAN 时钟频率 Void CLK_CANConfig((CLK_CANDivider_TypeDef CLK_CANDivider)

参数 1:时钟频率=HSE/1 参数 1:时钟频率=HSE/2 参数 1:时钟频率=HSE/3 参数 1:时钟频率=HSE/4 参数 1:时钟频率=HSE/5 参数 1:时钟频率=HSE/6 参数 1:时钟频率=HSE/7 参数 1:时钟频率=HSE/8

CLK_CANConfig(CLK_CANDIVIDER_1); CLK_CANConfig(CLK_CANDIVIDER_2); CLK_CANConfig(CLK_CANDIVIDER_3); CLK_CANConfig(CLK_CANDIVIDER_4); CLK_CANConfig(CLK_CANDIVIDER_5); CLK_CANConfig(CLK_CANDIVIDER_6); CLK_CANConfig(CLK_CANDIVIDER_7); 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 参数 1:校准值为 1 参数 1:校准值为 2 参数 1:校准值为 3 参数 1:校准值为 4 参数 1:校准值为 5 参数 1:校准值为 6 参数 1:校准值为 7

CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_0); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_1); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_2); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_3); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_4); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_5); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_6); CLK_AdjustHSICalibrationValue(CLK_HSITRIMVALUE_7);

20 获得系统时钟频率 u32 CLK_GetClockFreq()

21 获得系统时钟源 CLK_GetSYSCLKSource(void)

22 获得时钟标志状态 CLK_GetFlagStatus(CLK_FLAG_TypeDef CLK_FLAG)

参数 1:内部低速振荡器就绪标志位 参数 1:内部高速振荡器就绪标志位 参数 1:外部高速振荡器就绪标志位 参数 1:时钟切换中断标志位 参数 1:时钟切换忙标志位 参数 1:时钟安全系统检测标志位 参数 1:辅助振荡器开关状态位 参数 1:时钟输出忙标志位 参数 1:时钟输出就绪标志位

CLK_GetFlagStatus(CLK_FLAG_LSIRDY); CLK_GetFlagStatus(CLK_FLAG_HSIRDY); CLK_GetFlagStatus(CLK_FLAG_HSERDY); CLK_GetFlagStatus(CLK_FLAG_SWIF); CCLK_GetFlagStatus(CLK_FLAG_SWBSY); CLK_GetFlagStatus(CLK_FLAG_CSSD); CLK_GetFlagStatus(CLK_FLAG_AUX); CLK_GetFlagStatus(CLK_FLAG_CCOBSY); CLK_GetFlagStatus(CLK_FLAG_CCORDY);

23 获得时钟中断标志状态 CLK_GetITStatus(CLK_IT_TypeDef CLK_IT)

参数 1:时钟安全系统监测标志 参数 1:时钟切换中断标志

CLK_GetITStatus(CLK_IT_CSSD); 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);


相关文章:
STM8教程-第八章 STM8S207时钟编程及其实例
STM8教程-第八章 STM8S207时钟编程及其实例_计算机硬件及网络_IT/计算机_专业资料。第八章 STM8S207 时钟编程及其实例本章介绍 STM8S207 的时钟编程。STM8S...
Stm8使用固件库占用程序空间过多解决方法
Stm8使用固件库占用程序空间过多解决方法_计算机软件及应用_IT/计算机_专业资料。stm8使用库函数开发占用过多程序空间,优化方法 Stm8 使用固件库占用程序空间过多...
STM8L 系统时钟切换
STM8L 系统时钟切换_电子/电路_工程科技_专业资料。/* Switch the clock to HSI */ CLK_HSICmd(ENABLE); while (((CLK->ICKCR)& 0x02)!=0x02); CLK...
STM8S各个模块初始化
STM8S各个模块初始化_电子/电路_工程科技_专业资料。STM8S 各个模块初始化{...{ CLK_ICKR = 0X00; //禁止高速内部时钟,从停机 (Halt) 或活跃停机 (...
STM8教程-第十六章 CCO 时钟输出
STM8教程-第十六章 CCO 时钟输出_计算机硬件及网络_IT/计算机_专业资料。第十六章 CCO 时钟输出作为 STM8S207 的一个特别功能, 时钟输出功能 CCO 是可配置的...
STM8 CLK
STM8 CLK。STM8 时钟配置 CLK固件库 库配置 STM8时钟控制十分强大,用户可独立地管理各个时钟源,并将它们分配到 CPU 或各个 外设。主时钟和 CPU 时钟均...
STM8定时器的使用
环境: STM8SF103 ,仿真器为:STLINK TIM4 属于 8 位定时器,最大 128 分频。 这个定时器的时钟源是系统时钟源(fMaster),然后直接通过预分频器分频后供 CK_...
STM8L15x官方固件函数库与使用手册下载说明
进入 ST 的官网:http://www.st.com,在搜索内输入 STSW-STM8016 进行检索。 2. 检索完成出现如下界面,可以看到描述中说明为 STM8L15x 固件 库。 3. 点击...
STM8教程-第十三章 STM8S207 定时器模块及其应用实例
第十三章 STM8S207 定时器模块及其应用实例这一节,我们将向大家介绍如何使用 ...{ TIM2_PSCR = 0x0A; //16M 系统时钟经预分频 f=16M/1024=15.625k ...
STM8S共有9个复位源
STM8 复位 TM32L-Power control(PWR) 缩写解析: BOR : brown out reset(欠压复位) RTC : real-time clock(实时时钟) POR : power on reset(上电复位) ...
更多相关标签: