天天看點

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 并關閉其他時鐘 為自動模式

   CLK_ITConfig(CLK_IT_CSSD, ENABLE); 

   CLK_ClockSecuritySystemEnable();

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

STM8S 三種時鐘源的配置HSE\HSI\LSI的配置

這樣就可以了