• 简单聊下STM32F103的时钟


    对于芯片而言,电源和时钟是缺一不可的。

    电源为芯片提供能量,时钟则提供时间基准,芯片好按照这个tick依次执行指令。

    STM32F103是一款性价比很好的芯片,它的时钟树长这样:

     

    它有4个时钟源,不同的时钟有不同的场景:

    HSE高速外部时钟源,也就是频率来自芯片外

    HSI高速内部时钟源

    LSI低速内部时钟源

    LSE低速外部时钟源,也就是频率来自芯片外

    上图来自datasheet,猛一看有些地方还挺复杂,不容易入门。

    看了百问网这方面的介绍,结合STM32CubeMX,理解起来简单多了。

    来图来自 STM32CubeMX,其中绿色椭圆框表示时钟源,红色框表示时钟树常见的几个内部逻辑实现。

    从上到下依次是时钟选择器,时钟分频器,时钟倍频器。

    通过名字很容易理解其含义。

    时钟用哪个?

    时钟是否太快是否需要除个可除的参数?

    时钟是否太慢是否需要乘个参数?

    不得不概叹,ic小伙伴把功能做得非常nice。

    如果需要HSE或HSI,都需要设置下其相应的引脚。

    毕竟,要作为时钟输入引脚和其他引脚,某些设置是不同的。

     

     STM32CubeMX中的时钟树,直接把复杂的频率变成了让你选择或者填空,降低了难度。

    左边用于选择配置系统频率的来源和频率。

    右边则是用于给外设的时候配置,它的上游是系统频率。

    当设置完成后,就可以生成代码了。

    生成的代码如上图,通过代码可知。

    两个结构体,一个对应系统频率,类似上上图左边的配置,一个对应给外设的频率配置,类似上上图右边的配置。

    一个直觉的感受就是,STM32CubeMX降低了时钟树配置的难度。 

    你觉得呢?

  • 相关阅读:
    Flink Time 详解
    【POJ No. 1577 / UVA No. 1525】落叶 Falling Leaves
    安卓开发Android studio学习笔记14:用户注册登录(案例演示)
    Spring之AOP原理及总结
    K8S 证书替换
    计算机毕业设计Java校园面包超市系统(源码+系统+mysql数据库+Lw文档)
    使用LiME收集主机物理内存的内容时发生宕机
    PTA 7-2 简单计算器
    什么是消息中间件
    React入门(上)
  • 原文地址:https://blog.csdn.net/parasoft/article/details/125471648