STM32F407基於Cortex M4內核架構,具備完善的時鍾樹結構。了解時鍾樹的結構有助於程序的編寫和優化。
下列配置圖來自軟件STM32CubeMX,從配置圖可以看出STM32F407所有時鍾源,包括外部輸入HSE和LSE,以及內部RC時鍾HSI和LSI。

對於高速時鍾,采用外部8MHz晶振作為時鍾輸入HSE;經過PLL的倍頻,得到系統時鍾SYSCLK 168MHz;SYSCLK經過預分頻得到HCLK,HCLK用於驅動AHB總線、內存、DMA、內核FCLK以及嘀嗒時鍾Systick;APB1和APB2兩路總線時鍾也來自HCLK,分別對應PCLK1和PCLK2,同時要注意的是,掛在這兩個總線上定時器的時鍾是總線時鍾的2倍。
對於低速時鍾,主要用於需要驅動RTC時鍾或者IWDG看門狗。
總結,時鍾作為嵌入式系統的心臟,是必不可少的部分。正確選擇時鍾源、配置時鍾參數,是系統正常運行,外設正常交互的前提。
