直接上时钟树

在学习STM32的时候时钟的配置是一直必不可少的过程,也许你用别人的代码很爽,但是真正的做项目还是使用自己建立的工程最靠谱。
上图为用的原子哥的一张时钟树的图片。
下面是经常用到的全局宏定义,在是时钟树的配置中必不可少。

更换晶振第一步

然后要了解外部时钟的更改地点,现在使用的是8MHz晶振,用的时候更改为自己对应的晶振大小。

定义系统时钟晶振

系统时钟定义

使能外部时钟

将第17位置1刚好是使能外部时钟

在外部时钟初始化完成之后进行Flash的时钟配置,因为Flash的速度没有CPU的快,所以CPU要等待两个周期

在这里就是设置时钟树的分频系数,首先设置HCLK=SYSCLK这样做的目的也就是设置相应的AHB预分频器为不分频。
第二行代码是设置PCLK2=HCLK这样做的目的就是设置APB2预分频系数为1,也就是不分频。
同理第三行的代码就是设置PLCK1最大为36MHz这就就是设置为两分频,官方给的备注应该是错误的但是代码是正确的,可以直接按照代码来说就是设置APB1预分频为两分频。


下面介绍前半部分时钟源的选取;
这个是CFGR寄存器的各个位的介绍

更换晶振第二步

这个是OneNET开发板使用12MHz晶振后更改的晶振源设置,将相 应的倍频系数更改为6,这样就能够达到设置系统时钟为72MHz,的目的。


下面对CFGR寄存器的各个位进行介绍31-27为保留位



在行面的进行完之后就完成更换自己的晶振了;

下面是更换晶振第三步,也就是最后的一步,就可以完成晶振的更换
将建投所指的地方该成自己的外部晶振的大小;

在这些之后,就尽情享受更改晶振之后使用符合自己板子的库吧!

STM32时钟树学习笔记相关推荐

  1. STM32 HAL库学习笔记1-HAL库简介

    STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...

  2. STM32 HAL库学习笔记4-SPI

    STM32 HAL库学习笔记4-SPI 前言 一.SPI协议简介 SPI物理层 SPI协议层 1.基本通讯过程 2. 通讯的起始和停止信号 3. 数据有效性 4. CPOL/CPHA 及通讯模式 二. ...

  3. STM32中断回调函数定时器-STM32电控学习笔记06

    STM32中断&定时器-STM32电控学习笔记06 day6:2022/9/24 [中断概述] 在 STM32 中,对信号的处理可以分为轮询方式和中断方式,轮询方式就是不断去访问一个信号的端口 ...

  4. PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10

    PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10 day10:2022/9/29 前面学了两三天的PWM了,PWM本身不难理解,至于为啥进度缓慢,还不是这时钟定时器分频值重装载啥的太难理 ...

  5. 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)

    微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动--往往由一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种时钟"能量"扩散流动的路径,犹如大 ...

  6. STM32 Cube MX学习笔记——TOF 高速单线激光雷达 L10(usart)

    STM32 Cube MX学习笔记--TOF 高速单线激光雷达 L10_串口中断通信 1. TOF 高速单线激光雷达 L10 2. STM32 Cube MX配置 3.代码配置 4.编译 烧录 显示 ...

  7. STM32时钟树分析

    对于刚接触STM32的时钟树,对时钟树的理解,可以重点先思考两个问题: 1.时钟从哪里来:时钟源. 2.时钟怎么供给STM32的系统工作:时钟的流向(输入-->处理-->输出) 下面以ST ...

  8. 翻转电平函数实现LED闪烁-STM32电控学习笔记05

    翻转电平函数实现LED闪烁-STM32电控学习笔记05 day5:2022/9/23 [函数介绍] 在前面帖子大致了解了一下HAL_GPIO_WritePin()函数和HAL_Delay()函数的用法 ...

  9. STM32 HAL库学习笔记2 HAL库介绍

    STM32 HAL库学习笔记2 HAL库介绍 CMSIS标准 一.再次认识HAL库 HAL库设计思想 HAL库实现方式 以GPIO模块为例 GPIO外设数据类型 GPIO外设接口函数 二.使用HAL库 ...

最新文章

  1. qt中定时器Timer的使用
  2. rrdtool数据备份与迁移
  3. linux仿mac os10,Win10就是不如Mac顺手?几款仿Mac小工具推荐
  4. 使用属性升级MyBank
  5. Android下的数据存储与访问、权限
  6. python中__name__的使用
  7. MATLAB中unzip出错,node.js里unzip出错的处理
  8. C++——构造高度平衡的BST,并按层序输出
  9. DetNAS:首个搜索物体检测Backbone的方法 | NeurIPS 2019
  10. 请听一个故事------gt;百度员工离职总结:如何做个好员工
  11. “我来管管看”系列:采购误差缘何而来?
  12. Graph Structure of Neural Networks何凯明团队
  13. 开始上手docker
  14. verilog系统任务之$random
  15. 视频人像磨皮插件:Beauty Box 4.2
  16. 向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)
  17. pandas.Series.str.extract 正则提取数据
  18. 图书信息管理系统(三)
  19. Cannot interpret feed_dict key as Tensor: Tensor Tensor(“keras_learning_phase:0“, shape=(),
  20. 微信公众号支付: JSAPI缺少参数:total_fee ;没有生成预支付ID package=prepay_id=null;

热门文章

  1. linux vim编辑器的用法
  2. nylgACM_105_九的余数
  3. Ubuntu16.04 安装RabbitMQ
  4. 第四周作业wcPro
  5. 10.14 将n个数按输入输出顺序的逆序排列,用函数实现
  6. luogu P1361 小猫爬山 [iddfs]
  7. Java 接口小总结;
  8. angularJS 表单验证
  9. 12月16号 双链表
  10. MySQL 和 PostgreSQL 对比