详述使用CubeMX配置STM32RCC时钟

🙌秋名山码民的主页
😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
获取源码,添加WX

目录

  • 前言
  • 一、STM32时钟概述
  • 二、时钟源
  • 三、使用CubeMX配置
  • 最后


前言

STM32微控制器的时钟部分是其操作的核心,处理器的稳定工作也离不开时钟,它负责为微控制器提供时钟信号以驱动CPU、外设和总线,

所用软件:

  • Keil5
  • STM32 CubeMX

所用开发板型号:stm32f103vet6

一、STM32时钟概述

在STM32微控制器中,时钟系统由多个时钟源、时钟分频器和时钟使能控制组成,可以通过寄存器配置来实现对时钟的控制和调整。

  1. 时钟源

    • 内部振荡器(HSI):高速内部振荡器,通常频率为8MHz。
    • 外部晶体振荡器(HSE):连接外部晶体振荡器,可提供更稳定的时钟信号。
    • PLL(Phase-Locked Loop):用于产生高频时钟信号,通过对输入时钟源进行倍频得到高频时钟信号。
  2. 时钟分频器
    时钟分频器用于将时钟源的频率分频得到所需的时钟频率,比如系统时钟、总线时钟等。它们可以确保各个模块获得适合自己工作的时钟频率。

  3. 时钟使能
    对于每个外设,都有相应的时钟使能控制位,用于启用或禁用该外设的时钟信号。当某个外设不被使用时,禁用其时钟可以减少功耗。

在STM32中,时钟配置通常由寄存器进行设置。通过配置相关的寄存器,可以选择时钟源、设置PLL的倍频因子、配置分频器等。除了手动配置外,ST提供了CubeMX工具,它可以帮助用户通过图形界面来配置时钟,最终生成相应的初始化代码。

STM32F103的时钟树如下:

在这里插入图片描述

二、时钟源

STM32F103系列微控制器具有多个可用的时钟源。以下是常见的时钟源:

  1. 内部高速振荡器(HSI)

    • 频率:默认为8MHz,可以通过软件配置为2MHz。
    • 稳定性:适用于大多数应用,具有较好的稳定性和精确度。
    • 启动时间:约为2ms。
  2. 外部晶体振荡器(HSE)

    • 频率:通常为4MHz或8MHz,也可以使用其他频率的外部晶体。
    • 稳定性:提供更高的时钟稳定性和精确度,适用于需要更高时钟精度的应用。
    • 启动时间:取决于外部晶体的特性,一般在数十毫秒范围内。
  3. PLL(Phase-Locked Loop)

    • 输入时钟源:可以选择HSI或HSE作为PLL的输入时钟源。
    • 倍频因子:可通过设置寄存器来选择倍频因子,将输入时钟源的频率乘以固定的倍数,获得更高频率的系统时钟。
    • 频率范围:对于STM32F103系列,最大系统时钟频率为72MHz。

通过配置相关的寄存器,可以选择时钟源并配置PLL的输入时钟源和倍频因子。例如,可以将HSI或HSE作为主时钟源,并通过PLL将其倍频得到更高的系统时钟频率。

三、使用CubeMX配置

  1. 配置RCC
    在这里插入图片描述

在这里插入图片描述
修改HCLK为最大72M, 他这里是问我们没有时钟源没配置成功,点击ok,cubemx会自动帮我们修改
在这里插入图片描述
3. 分频率,就是一个除法运算
在这里插入图片描述
4. 倍频,和前面的联系起来看,就是可以将HSI或HSE作为主时钟源,并通过PLL将其倍频得到更高的系统时钟频率。在这里插入图片描述

最后

简单来说,对于STM32上的时钟,根据需求来确定,时钟频率越高,功耗也会更高,另一方面要考虑芯片的工作条件,根据芯片运行的工作条件来选取时钟频率。
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/143450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2013年01月16日 Go生态洞察:并发不是并行

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

DBeaver clickhouse 时区不对 时间少了8小时,本人的有效,网上好多都是扯犊子

特别注意:use_time_zone Asia/Shanghai use_server_time_zone true

知识竞赛中常用的物料有哪些

办一场知识竞赛,需要准备的物料要根据具体竞赛规则和流程来定。但是要仔细分析起来,还是可以做一个常用物料清单的,下面我将知识竞赛活动中常用的物料做了一个分类和列表,大家以后在竞赛活动举办过程中,可以参考。 一、…

单独设置echarts图例样式

参考:echarts-legend legend: [{data: [{name: 正常,icon: rect}],itemWidth: 16,itemHeight: 4,top: 6%,left: 35%,textStyle: {color: #626C78,fontSize: 14}},{data: [{name: 异常,icon: rect}],itemWidth: 16,itemHeight: 4,top: 6%,left: 50%,textStyle: {col…

JavaScript数据类型和存储区别

目录 一、原始数据类型 二、引用数据类型 三、存储区别 四、常见错误 JavaScript是一种动态类型语言,这意味着变量可以在程序执行过程中改变其数据类型。了解JavaScript中的数据类型和它们的存储方式对于编写高效和可维护的代码至关重要。 在JavaScript中&…

苹果手机通话记录怎么恢复?这3个方法就足够!

通话记录是手机中的重要数据之一,它记录了用户与联系人的通话信息,包括通话时间、通话时长、通话号码等等。 有时候,我们可能不小心删除了通话记录,或者想找回之前的通话记录以此来回忆起一些事情。那么,苹果手机通话…

基于安卓android微信小程序的快递取件及上门服务系统

项目介绍 本文从管理员、用户的功能要求出发,快递取件及上门服务中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、快递下单管理、预约管理、管理员管理、系统管理、订单管理,用户客户端;首页、快递下单、预约管理…

电压放大器适合什么应用

电压放大器是电子电路中常见的一种放大器,广泛应用于各个领域。本文将详细介绍电压放大器的特点和适用的主要应用。 电压放大器具有放大信号的功能,可以将输入信号的幅度放大数倍或数十倍。这使得电压放大器在各种需要信号增强的应用中非常重要。以下是电…

一寸证件照排版工具,在线将证件照排版在相纸上

证件照是我们经常使用到的一种办事资料,考试报名和办理个人证件都是需要的,很多时候需要纸质照片,如果我们手头有打印机的话就很方便了,但相纸都是固定尺寸的例如5寸、6寸相纸,而数码证件照的尺寸则不固定,…

isomorphic-fetch库代码示例

isomorphic-fetch库的爬虫程序。 typescript // 引入isomorphic-fetch库 import fetch from isomorphic-fetch; // 设置 const proxy ; // 定义视频URL const url ; // 使用fetch获取视频数据 fetch(url, { method: GET, headers: { Accept: application/json, …

手写模拟SpringBoot核心流程

文章目录 1、创建工程1.1、pom依赖 1、创建工程 创建一个工程,包含springboot和user两个module springboot模块,表示springboot框架的源码实现user包,表示用户业务系统,用来写业务代码来测试我们所模拟出来的SpringBoot 1.1、…

2023超级详细微信小程序纯前台获取当前具体位置,地图上选点进行位置签到 计算签到距离

前言: 为了解决不同板块获取位置以及取代三级联动的问题,当前进行研究微信小程序获取当前具体位置。 思路: 调用微信小程序中获取当前地理位置的方法,与设置地理位置的方法,通过、、、实现当前距离设置打卡地点的距离&…

python数据结构与算法-02_数组和列表

线性结构 本节我们从最简单和常用的线性结构开始,并结合 Python 语言本身内置的数据结构和其底层实现方式来讲解。 虽然本质上数据结构的思想是语言无关的,但是了解 Python 的实现方式有助于你避免一些坑。 我们会在代码中注释出操作的时间复杂度。 数…

【Python基础】文件传输协议

🌈欢迎来到Python专栏 🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mys…

PyCharm鼠标控制字体缩放

File->Settings->Keymap 右边搜索栏输入increase(放大),可以看到下面出现increase Font Size(放大字体尺寸),双击。 双击后出现几个选项,选择Add Mouse Shortcut,会出现一个页面给录入动作。 按住Ctrl同时鼠标向上滚动,该动…

时间序列预测实战(十六)PyTorch实现GRU-FCN模型长期预测并可视化结果

往期回顾:时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU-FCN(门控循环单元-全卷积网络),这是一种结合了GRU(用于处理时间序列数据)和FCN(全卷积网络…

Java项目开发:基于Springboot+vue口腔牙科诊所管理系统

项目介绍 本选题则旨在通过标签分类管理等方式,实现管理员:首页、个人中心、会员管理、病例就诊信息管理、牙齿保健产品管理、复查提醒管理、预约挂号管理、药品信息管理、留言板管理、系统管理、订单管理,会员;首页、个人中心、…

Git企业开发级讲解(二)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、添加⽂件--场景⼀1、操作2、演示 二、查看 .git ⽂件1、tree .git命令2、内容讲解3、总结…

nginx 无法 停止

一、nginx正常停止命令 进入到nginx目录,然后执行 # 立即停止 nginx -s stop # 平滑停止 nginx -s quit 二、 如果你不小心启动了多次nginx.exe 那么通过任务管理器可以停止 三、如果 任务管理器无法停止 那么就在cmd命令中执行 netstat -ano //查看所以端口…

立体库堆垛机控制程序手动功能实现

手动操作功能模块 手动前后保护锁 *************提升手动程序段 手动上升,下降保护锁 **********货叉手动程序段