【STM32学习】时钟配置详解
创始人
2025-06-01 08:19:08
0

【STM32学习】时钟配置详解

  • 看懂时钟图
  • 结合代码
  • 外部高速时钟修改

看懂时钟图

在刚开始学习32的时候,并不会在意这些,或者即使看了也看的不是很明白。随着学习的深入,我们发现看门狗、定时器、ADC很多外设都需要我们搞清楚,各自的时钟频率是多少变得很重要。

本文结合正点原子F103RBT6单片机的时钟初始配置进行说明。

123
为了系统能够稳定运行,在使用时,无论是低速还是高速时钟,都是使用外置的。
外部高速时钟多为晶振为8MHz。外部低速时钟为32.768KHz。

  1. 项目1
  2. 项目2
  3. 项目3
  1. 内部低速时钟LSI
  • 由图中能看到,LSI为独立看门狗提供时钟源。但是LSI频率不是很稳定。
  1. 外部低速时钟LSE
    主要是为RTC提供时钟。
  • RTC时钟源有三种可以选择:①外部LSE ②外部HSE经过128分频 ③内部LSI
  • 对于LSE源,只要VBAT维持供电,尽管VDD供电被切断,RTC仍继续工作。(对于另外两种见参考手册)
  1. 外部高速时钟HSE
    对于F103的片子,我们多为8M晶振。
    时钟源流程:
  • 8M经过PLLXTPRE到达PPLMUL,经过9倍频到72MHz,作为PPLCLK;
  • PPLCLK往后走也就是SYSCLK为72MHz,然后经过AHB(1分频)往后继续传递;
    接下来从上往下,分别说明:
  • HCLK时钟是直接由AHB传递过来,所以为72MHz;
  • 滴答定时器(systick):由AHB经过8分频得到的,为9MHz。(一定会被8分频);
  • PCLK1:已经写明了最大为36MHz,所以如果AHB为72MHz的话,APB1一定要经过2分频,才能得到36MHz。
  • TIM2-7:因为APB1经过了2分频,所以TIMXCLK得到的频率为APB1*2=72MHz;
  • PCLK2: AHB为72MHz,APB2最大能为72MHz,所以直接1分频,得到72MHz;
  • TIM2-7:因为APB2为1分频,所以TIMXCLK得到的频率为APB2=72MHz;

结合代码

再看代码的时候,我们很不习惯看固件库,但是这个是及其重要的,虽然看起来很耗时。
其次,就是看英文注释。即使我们不去看具体寄存器配置,也能很清晰的明白,那一句是干什么事情的。

在这里插入图片描述

在这里插入图片描述

外部高速时钟修改

STM32系列修改外部晶振以及代码的修改(f103、f105为例)

上一篇:牛客C/C++刷题笔记(五)

下一篇:python log

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...