系统时钟CCO输出的步骤(算法):
1、启用某个时钟(该时钟要作为CCO输出的时钟源)。
2、切换时钟(开机默认的时钟是HSI,即内部高速时钟),等待系统时钟切换完成。
3、等待切换后的时钟就绪后,设置当前时钟分频。
4、设置CCO输出时钟的分频。
代码如下:
#include "led.h" #include "stm8s.h" #include "stm8s_clk.h" #include "stm8s_gpio.h" void main() { CLK_LSICmd(ENABLE); //启用内部低速时钟,时钟频率128Khz while(CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE)==ERROR); //等待时钟切换完成 while(CLK_GetFlagStatus(CLK_FLAG_LSIRDY)==RESET); //等待LSI就绪 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV128); //CPU时钟128分频,即1Khz LED_Init(); //led初始化 LED1_Close();//led1关闭 CLK_CCOConfig(CLK_OUTPUT_CPUDIV64); //配置CCO输出为CPU时钟的64分频,输出频率16hz while(1) {} }
|