??STM32的時鐘系統比較復雜,不像51單片機,可能只有一個時鐘。原因:1、外設多,不同的外設有不同的時鐘要求;2、功耗原因,速度越快,功耗越大,抗電磁干擾能力越弱。 此處以STM32F405為例,講一點最常用的知識。其它的型號大同小異。
時鐘 含義 特點
HSE 外部高速時鐘信號 一般選擇外接晶振,最常用的時鐘信號。電機驅動板外接12Mhz
HSI 內部高速時鐘信號 由單片機內部的16MHzRC振蕩器生成,成本低,但精度低。默認的系統時鐘,但實際使用的場合不多。
PLL 鎖相環 由HSE或HSI提供時鐘信號,主要用于生成高速系統時鐘,STM32F405最高168Mhz,103 72Mhz 429 180Mhz
LSE 外部低速時鐘信號 外接的32.768Khz晶振,用于驅動RTC時鐘。RTC可以提供時鐘、日歷功能,功耗低精度高。
LSI 內部低速時鐘信號 32Khz左右,功耗低,可在停機、待機狀態下使運行,供看門狗和自動喚醒單元使用
??命名是很有規律的,H高 L低 I內 E外
??在使用CubeMX以前,理解并正確配置時鐘系統并不是一件容易的事情。在中文參考手冊6.2節,有關于時鐘系統的說明。也配備了時鐘樹的圖,但不如STM32CubeMX中的圖直觀,除了可以顯示各個分支的含義、速度,還能動態修正設定值。
??不同的總線有不同的頻率,不同的外設掛在不同的總線下,外設與總線的對應關系可以查看參考手冊P52或數據手冊P19。為了更適合初學者查閱,我把常用的外設與總線的對應關系總結如下:
??比如,我們想知道定時器3的時鐘是多少,可以通過上表查出定時器3屬于APB1。然后再找APB1的時鐘,對于定時器來說是84Mhz,對于其它外設是42Mhz,所以Timer3的時鐘是84Mhz。
上一篇:HAL庫教程8:通用定時器的使用
下一篇:HAL庫教程6:串口數據接收
推薦閱讀
史海拾趣