Why do STM32 initialization peripherals need to turn on the clock first?

LeanderPeng發表於2024-07-04

為什麼Stm32初始化外設都需要先開啟時鐘

理由一

由於STM32屬於低功耗的MCU,為了降低功耗,STM32的MCU在復位後會把絕大多數的外設時鐘關閉,所以當使用者需要使用到MCU內部的某個外設,就必須先開啟定時器。

理由二

我們知道想要控制硬體,必須控制硬體的暫存器。然而在數位電路中,暫存器的作用是暫存一組二進位制的資料。又暫存器是由觸發器(每個觸發器暫存1Bit資料)組成的。

不開啟時鐘,則晶振電路產生的震盪訊號就無法傳到MCU內部的外設中,即無時鐘訊號,觸發器就無法觸發,暫存器也就無法鎖存資料。

所以時鐘相當於外設的開關,不開啟時鐘就無法控制硬體。

相關文章