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
這樣就可以了