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

为什么Stm32初始化外设都需要先打开时钟

理由一

由于STM32属于低功耗的MCU,为了降低功耗,STM32的MCU在复位后会把绝大多数的外设时钟关闭,所以当用户需要使用到MCU内部的某个外设,就必须先开启定时器。

理由二

我们知道想要控制硬件,必须控制硬件的寄存器。然而在数字电路中,寄存器的作用是暂存一组二进制的数据。又寄存器是由触发器(每个触发器暂存1Bit数据)组成的。

不打开时钟,则晶振电路产生的震荡信号就无法传到MCU内部的外设中,即无时钟信号,触发器就无法触发,寄存器也就无法锁存数据。

所以时钟相当于外设的开关,不打开时钟就无法控制硬件。

posted @   LeanderPeng  阅读(28)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示