详述使用CubeMX配置STM32RCC时钟

news2024/12/22 19:40:13

🙌秋名山码民的主页
😂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上的时钟,根据需求来确定,时钟频率越高,功耗也会更高,另一方面要考虑芯片的工作条件,根据芯片运行的工作条件来选取时钟频率。
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

帮助中心干货 | 4步即可快速搭建高效帮助中心

任何一个产品有用户涌入使用之后,都会不可避免地面临一个场景问题:如何及时、高效、便捷地解决用户使用过程中的问题? 在使用某些网站的功能或服务时,用户常常会遇到一些看似简单但没有说明依然可能难以理解的问题。如果问题没有…

linux查看端口占用情况

lsof命令 lsof(list open files)命令可以列出当前系统中打开的所有文件,包括网络端口。可以使用lsof命令查看某个端口被哪个进程占用。 具体的命令为:sudo lsof -i :端口号,其中端口号为需要查询的端口号。 netstat命令 使用netstat命令&a…

Vatee万腾的数字化掌舵:Vatee科技引领未来的新高度

随着数字化时代的到来,Vatee万腾以其卓越的科技决策力成为引领潮流的掌舵者。 Vatee万腾通过对科技前沿的不懈探索,站在了数字化创新的最前沿。其领先的科技团队致力于发掘并应用最新的数字技术,为用户提供卓越的数字化体验。 Vatee万腾以其…

运动耳机哪个牌子好性价比高?运动耳机品牌排行榜前十名

​其实,选择运动耳机并不只是看外观,性能也同样重要。在选择时,我们需要考虑几个关键因素,例如稳固性、舒适度和音质等。这些都是运动耳机必备的要求,因为它们能帮助我们在运动时更加专注于锻炼,而不会被耳…

操作系统——死锁(一文详解死锁,死锁产生的原因和死锁的解决方案)

1、什么是死锁?死锁产生的条件? 1.1、什么是死锁? 答: 在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进&#xff…

Python:Virtual Environment——venv

文章目录 1 基本信息2 创建虚拟环境3 venv如何工作 1 基本信息 venv支持构建轻量级虚拟环境 包含独立的位于其site文件夹中的python package venv构建在base Python上在虚拟环境中执行pip会将package安装在当前的隔离环境中一个venv包含: 独立的Python解释器、libr…

在线预览编辑PDF::RAD PDF for ASP.NET

RAD PDF for ASP.NET作为功​​能最齐全的基于 HTML 的 PDF 查看器、编辑器和 ASP.NET 表单填充器,RAD PDF 为传统 PDF 解决方案提供了灵活而强大的替代方案。与 Adob​​e Acrobat Reader 不同,RAD PDF 几乎可以在任何现代网络浏览器中运行,…

推荐5款靠谱好用,无广告不流氓的软件

​ 话不多说,直入正题,全都是靠谱好用,无广告不流氓的好软件,可以先点赞收藏,以后慢慢用。 1.视频压缩工具——Moo0 VideoMinimizer ​ Moo0 VideoMinimizer是一款绿色免安装的视频压缩工具,它可以让你轻…

深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别 计算机竞赛

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数:2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…

干货!工业级3D开发工具HOOPS的开发环境探讨——3D模型格式转换篇

HOOPS产品主要应用于3D模型的转换、显示、处理和发布,包括HOOPS Exchange、HOOPS Communicator、HOOPS Visualize和HOOPS Publish等4种产品,其中: HOOPS Exchange主要应用于模型的文件格式转换。HOOPS Communicator主要应用于WEB端模型显示。…

百济神州财报解读:第三季度扭亏为盈,胜利来晚了?

短短几年时间,从国产创新药一哥,到如今唯一一家在纳斯达克、港交所、上交所三地上市的生物科技公司,飞速的发展和超强的融资能力,早已让百济神州成为了一面反映“创新药企”发展状况的镜子。 因此,百济神州的业绩也牵…

Python测试开发中Django和Flask框架的区别

在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题。 1、为什么要使用框架? 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建…

c#桥接模式详解

基础介绍: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用于不希望在抽象和实现部分之间有固定的绑定关系的情况,或者类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充的情况。 将抽象部分与实现部分分离,…

动静态库。

gcc去 1、默认路径/usr/include里面去找 2、当前目录去找 但是mymath.h根本不在这里面,所以就报错了 你可以在.c中 #include “./lib/include/” 指明头文件在哪里,但是不推荐 ,建议在gcc时处理

求推荐哪个好用的ERP或CRM软件?有ERP、CRM一体化的软件吗?

推荐好用的ERP或CRM软件?那么,有软件能够实现ERP、CRM一体化吗? 当然有,我们公司就在使用这样一个一体化平台。 只要你能够准确地理解业务逻辑,即使没有编程经验和代码基础,也能够利用简道云轻松创建各种…

c++ 经典服务器开源项目Tinywebserver如何运行

第一次直接按作者的指示,运行sh ./build.sh,再运行./server,发现不起作用,localhost:9006也是拒绝访问的状态,后来摸索成功了发现,运行./server之后,应该是启动状态,就是不会退出,而…

Idea 编译SpringBoot项目Kotlin报错/Idea重新编译

原因应该是一次性修改了大量的文件, SpringBoot项目启动Kotlin报错, Build Project也是同样的结果, 报错如下 Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.1.13. Build-&…

C语言--数组的长度计算【详细解释】

一.数组的长度计算公式 我们都知道字符串有特定的函数strlen,而数组没有,(虽然字符串也是一种特殊的数组) 但是,类似于这样的数组: int arr[]{12,89,1,5,31,78,45,12,12,0,45,142,21,12}; 我们很难一眼…

AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)

懂乐理的音乐专业人士可以通过写乐谱并通过乐器演奏来展示他们的音乐创意和构思,但不识谱的素人如果也想跨界玩儿音乐,那么门槛儿就有点高了。但随着人工智能技术的快速迭代,现在任何一个人都可以成为“创作型歌手”,即自主创作并…

诚迈科技旗下智达诚远亮相2023世界新汽车技术合作生态展

11月10日-12日,2023世界新汽车技术合作生态展在昆山盛大举行,这是中国汽车产业史上首次真正以零部件为主体的新汽车供应链展。诚迈科技子公司智达诚远作为智能汽车操作系统领军企业,携引领跨域融合时代的峰昇操作系统FusionOS亮相大会&#x…