STM32為什么必須先配置時鐘再配置GPIO
任何MCU的任何外設(shè)都需要有時鐘,8051也是如此;STM32為了讓用戶更好地掌握功耗,對每個外設(shè)的時鐘都設(shè)置了開關(guān),讓用戶可以精確地控制,關(guān)閉不需要的設(shè)備,達到節(jié)省供電的目的。
51單片機不用配置IO時鐘,只是因為默認使用同一個時鐘,這樣是方便,但是這樣的話功耗就降低不了。
例如,某個功能不需要,但是它還是一直運行。
stm32需要配置時鐘,就可以把不需要那些功能的功耗去掉。
當你想關(guān)閉某個IO的時候,關(guān)閉它想對應的時鐘使能就是了,不過在51里面,在使用IO的時候是沒有設(shè)置IO的時鐘的,還有在STM32中,有外部和內(nèi)部時鐘之分,關(guān)于時鐘等好好研究
ARM的芯片都是這樣,外設(shè)通常都是給了時鐘后,才能設(shè)置它的寄存器(即才能使用這個外設(shè))。STM32、LPC1XXX等等都是這樣。
這么做的目的是為了省電,使用了所謂時鐘門控的技術(shù)。
這也屬于電路里同步電路的范疇:同步電路總是需要1個時鐘。
評論