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

這樣就可以了

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