STM8S 三种时钟源的配置HSE\HSI\LSI的配置

1. 关于HSE的时钟配置为主时钟

static void CLK_Config(void)
{
    CLK_DeInit();  // 初始化
    CLK_HSECmd(ENABLE); //使能HSE
   CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE,
                                CLK_CURRENTCLOCKSTATE_DISABLE); //切换HSE 并关闭其他时钟 为自动模式
    /*Enable CSS interrupt */ 
   CLK_ITConfig(CLK_IT_CSSD, ENABLE); 
    /* Enable CCS */
   CLK_ClockSecuritySystemEnable();

    /* Output Fcpu on CLK_CCO pin */

CLK_CCOConfig(CLK_OUTPUT_HSE);   //通过PC4可以查看输出

 CLK_CCOCmd(ENABLE);
 enableInterrupts();
}

2. 关于HSI的时钟配置为主时钟

  static void CLK_Config(void)
{  

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); //直接配置即可

}

3. 关于LSI的时钟配置为主时钟

void CLK_Config(void)
{
     CLK_DeInit();   //初始化
    CLK_LSICmd(ENABLE); //使能LSI
    CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_LSI,DISABLE,  

                                            CLK_CURRENTCLOCKSTATE_DISABLE); //切换
   CLK_CCOConfig(CLK_OUTPUT_LSI);    //PC4输出
   CLK_CCOCmd(ENABLE);
}

这里还需要在STVP中设置OPTION BYTE

LSI_EN     LSI  Clock available as CPU clock source

这样就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章