1.共四種時鐘信號,LSE和HSE爲外部時鐘信號,用上圖的引腳接入晶振或者時鐘源。
2.系統默認的時鐘配置是用函數SystemInit實現的,默認爲LSI時鐘信號,爲8MHz。
3.可以使用外部高速時鐘信號HSE,用PD0和PD1引腳,然後用程序設置APB總線、APB1、APB2等的時鐘。
可以用FPGA作爲HSE的時鐘源。
RCC_DeInit(); //初始化RCC寄存器
RCC_HSEConfig(RCC_HSE_ON); //打開外部高速時鐘晶振HSE
RCC_WaitForHSEStartUp(); //等待外部高速時鐘晶振工作
RCC_HCLKConfig(RCC_SYSCLK_Div1); //設置HCLK(AHB)爲SYSCLK的1分頻
RCC_PCLK2Config(RCC_HCLK_Div1); //設置ABP2爲HCLK的1分頻
RCC_PCLK1Config(RCC_HCLK_Div2); //設置APB1爲HCLK的2分頻
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
//PLL鎖相環倍頻輸出的時鐘輸入源爲HSE/1,9倍頻
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
RCC_PLLCmd(ENABLE); //打開PLL
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { //等待PLL工作
;
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //設置系統時鐘爲PLLCLK
while (RCC_GetSYSCLKSource() != 0x08); //判斷系統時鐘是否爲PLL
【加粗部分】若程序在此處一直循環執行,則檢查硬件上的外部晶振是否有問題。
4.可以用【MCO-PA8】引腳輸出時鐘,可以用於用示波器檢查時鐘信號,也可用於給其他芯片提供時鐘源。(需對此引腳進行復用功能配置)
5.HSI、HSE、PLLCLK可以左右系統時鐘。