STM32中使能時鍾的目的


  首先強調:時鍾使能必須在外設初始化之前!!!!!!!

  在這引用一個解釋,

  “ARM的芯片,外設通常都是給了時鍾后才能設置它的寄存器(即才能使用這個外設)。

  STM32、LPC1XXX等等都是這樣,這么做的目的是為了省電,使用了所謂時鍾門控的技術。

  寄存器是基於什么的?

  當然是觸發器!!!准確地說應該是D觸發器

  觸發器的賦值是一定需要時鍾的, 而寄存器的時鍾是由總線時鍾提供的,就是說沒有總線時鍾的話,你給寄存器值它是不會讀入的。換句話說,只有送來了時鍾,觸發器才能被改寫值,這樣寄存器才會工作。

  又會有人說為什么我之前學51的時候為什么不用使能時鍾呢?

  當初我們學51的時候,哪會關注功耗,我們能跑起來程序就行了,而且對於大多數廠家來說,絕大多數不會關注功耗。但是STM32不同,為了減少功耗,ST公司為了省電,使用了所謂的時鍾門控的技術,這又涉及到了同步電路。同步電路中總有一個時鍾控制。

  在默認情況下這些時鍾都是disable的。你如果要使用它,首先就需要enable。

  我們也可以把這個時鍾簡單的比作為門,STM32之所以是低功耗,就是因為他把所有門都默認設置為disable,在你需要用哪個門的時候,開哪個門就可以,也就是說用到什么外設,只要打開對應外設的時鍾就可以,其他的沒用到的可以還是disable,這樣耗能就會減少。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM