zoukankan      html  css  js  c++  java
  • STM32中使能时钟的目的

      首先强调:时钟使能必须在外设初始化之前!!!!!!!

      在这引用一个解释,

      “ARM的芯片,外设通常都是给了时钟后才能设置它的寄存器(即才能使用这个外设)。

      STM32、LPC1XXX等等都是这样,这么做的目的是为了省电,使用了所谓时钟门控的技术。

      寄存器是基于什么的?

      当然是触发器!!!准确地说应该是D触发器

      触发器的赋值是一定需要时钟的, 而寄存器的时钟是由总线时钟提供的,就是说没有总线时钟的话,你给寄存器值它是不会读入的。换句话说,只有送来了时钟,触发器才能被改写值,这样寄存器才会工作。

      又会有人说为什么我之前学51的时候为什么不用使能时钟呢?

      当初我们学51的时候,哪会关注功耗,我们能跑起来程序就行了,而且对于大多数厂家来说,绝大多数不会关注功耗。但是STM32不同,为了减少功耗,ST公司为了省电,使用了所谓的时钟门控的技术,这又涉及到了同步电路。同步电路中总有一个时钟控制。

      在默认情况下这些时钟都是disable的。你如果要使用它,首先就需要enable。

      我们也可以把这个时钟简单的比作为门,STM32之所以是低功耗,就是因为他把所有门都默认设置为disable,在你需要用哪个门的时候,开哪个门就可以,也就是说用到什么外设,只要打开对应外设的时钟就可以,其他的没用到的可以还是disable,这样耗能就会减少。

     

  • 相关阅读:
    Asp.net 后台添加CSS、JS、Meta标签(帮助类)
    Jquery 事件冒泡
    一个例子理解C#位移
    CodeSmith 创建Ado.Net自定义模版(四)
    .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)
    用泛型的IEqualityComparer<T>接口去重复项
    Why MapReduce?
    SYN flood攻击介绍
    tmux使用方法详解
    理解Linux系统负荷
  • 原文地址:https://www.cnblogs.com/huang-y-x/p/11305580.html
Copyright © 2011-2022 走看看