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