STM32之HAL开发——RCC外设CubeMX配置时钟

RCC外设介绍

RCC是Reset and Clock Control (复位时钟控制)的缩写,它是STM32内部的一个重要外设,负责管理各种时钟源和时钟分频,以及为各个外设提供时钟使能。RCC模块可以通过寄存器操作或者库函数来配置。

RCC是复位和时钟控制模块,它负责管理STM32内部的各种时钟源和时钟分频,以及为各个外设提供时钟使能。时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。不同的外设可能需要不同的时钟频率,所以RCC模块可以通过寄存器操作或者库函数来配置系统时钟和总线时钟。

RCC复位部分

系统复位

系统复位将复位所有寄存器至它们的复位状态。 当发生以下任一事件时,产生一个系统复位:

  • NRST引脚上的低电平(外部复位) 
  •  窗口看门狗计数终止(WWDG复位)
  • 独立看门狗计数终止(IWDG复位)
  • 软件复位(SW复位)
  • 在进入待机模式时产生低功耗管理复位: 通过将用户选择字节中的nRST_STDBY位置’1’将使能该复位。这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式。
  • 在进入停止模式时产生低功耗管理复位: 通过将用户选择字节中的nRST_STOP位置’1’将使能该复位。这时,即使执行了进入停机模式的过程,系统将被复位而不是进入停机模式。

关于用户选择字节的进一步信息,请参考STM32F10xxx闪存编程手册。

电源复位

电源复位当以下事件中之一发生时,产生电源复位:

  • 上电/掉电复位(POR/PDR复位)
  • 从待机模式中返回

备份域复位

备份区域拥有两个专门的复位,它们只影响备份区域。 当以下事件中之一发生时,产生备份区域复位。

  • 软件复位,备份区域复位可由设置备份域控制寄存器 (RCC_BDCR)中的BDRST位产生。
  • 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

RCC时钟控制部分

时钟是STM32内部最核心的器件,它可以提供时钟信号。依赖于这个信号,STM32中的器件才可以有条不紊地将工作进行下去。

STM32中能够主动发出时钟信号的元器件,可以用作时钟源。STM32中有四个时钟源,还有一个辅助时钟源生成倍频时钟信号的器件锁相环

时钟源有以下几种:

  1. HSE 外部高速时钟
  2. HSI 内部高速时钟
  3. LSE 外部低速时钟
  4. LSI 内部低速时钟
  5. PLL锁相环

CubeMX配置时钟

首先在软件中先选择RCC时钟来源,一般使用外部高速晶振
紧接着在选择PLCLK,在鼠标区域输入需要的晶振频率即可一键配置完成,不需要考虑分频,倍频等其他需要自己计算的因素。

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

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

相关文章

Motorbike Physics Tool

此软件包适用于任何想要使用他们拥有的摩托车和玩家模型,并快速将其变成可驾驶摩托车而无需编写一行代码的人。 包说明 在这个工具中,它允许您使用您拥有的任何自行车模型,并将其变成可驾驶的摩托车,而无需编写任何代码。对于那些想在游戏中拥有自行车但又不想学习如何制作…

Go第三方框架--gin框架(二)

4. gin框架源码–Engine引擎和压缩前缀树的建立 讲了这么多 到标题4才开始介绍源码,主要原因还是想先在头脑中构建起 一个大体的框架 然后再填肉 这样不容易得脑血栓。标题四主要涉及标题2.3的步骤一 也就是 标题2.3中的 粗线框中的内容 4.1 Engine 引擎的建立 见…

工作记录 3月27日

复现计划: 数据集准备 跑通follow工作的前置代码 准备一个跑通的训练代码(不管正确性) 准备benchmark 跑一次训练 进一步阅读论文,更正训练代码,迭代 对两个方法的训练过程没有完全理解清楚,花了一天时间一…

43 带 fixed 列的 el-table 不兼容于 sortablejs

前言 这是一个基于 sortablejs 来实现的 el-table 的拖拽功能的基础实现 然后 这个过程中遇到的一个比较特殊的问题是, 关于 el-table-column 的 fixed 的属性, 对于 sortablejs 这边来定位目标选择列 影响的一个问题 在基础的用例中, 使用 “.el-table__body-wrapper tbo…

力扣--931.下降路径最小和

给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角…

富格林:更改错误操作正规盈利出金

富格林指出,一些投资者在做单的时候会存在一些不好的交易习惯,这些习惯往往影响到交易的最终结果。想要减少亏损正规盈利出金,投资者需要更改这些不良习惯,才能从根源的接近问题有效提高出金。为帮助投资正规盈利出金,…

2024/3/26 C++作业

定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width), 定义成员函数: 设置长度:void set_l(int l) 设置宽度:void set_w(int w) 获取长度:int…

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记11:数字电位器MCP4017

系列文章目录 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装 嵌入式|蓝桥杯STM32G431(…

【Linux】详细分析/dev/loop的基本知识 | 空间满了的解决方法

目录 前言1. 基本知识2. 内存满了2.1 清空2.2 扩增 3. 彩蛋 前言 服务器一直down机,翻找日志文件一直找不到缘由,最终发现是挂载的内存满了,那本身这个文件就什么用呢? 1. 基本知识 /dev/loop是一种特殊的设备文件,…

005 Math类中的常用方法

Math类中包含一些用于执行基本数字运算的方法。 算术运算 方法描述abs(double a)返回 double值的绝对值。sqrt(double a) 返回 double值的正确舍入正平方根。 cbrt(double a)返回 double值的立方根。max(double a, double b)返回两个 double值中较大的 double 。min(double a…

I2C系列(三):软件模拟I2C读写24C02

一.目标 PC 端的串口调试软件通过 RS-485 与单片机通信,控制单片机利用软件模拟 I2C 总线对 EEPROM(24C02) 进行任意读写。 二.硬件简述 2.1 24C02硬件参数 24C02器件地址为0x50,存储容量为256字节,存储单元地址位数…

【SpringBoot】java.lang.Exception: No tests found matching Method

目录 问题解决 问题 在运行SpringBootMaven工程时,创建了一个新的Test单元测试,在运行时遇到的问题如下: java.lang.Exception: No tests found matching Method test_chatGPT(cn.bugstack.chatbot.api.test.ApiTest) from org.junit.inter…

使用 Docker Swarm(集群) 和Docker Stack(堆栈)部署容器化应用

1、Docker Swarm简介 说到集群,第一个想到的就是k8s,但docker官方也提供了集群和编排解决方案,它允许你将多个 Docker 主机连接在一起,形成一个“群集”(Swarm),并可以在这个 Swarm 上运行和管…

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

题目:输入三个整数x,y,z,请把这三个数由小到大输出。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worri…

Python与供应链-2预测误差及指数平滑需求预测模型

主要介绍预测误差和指数平滑模型的相关理论,然后再通过Python的statsmodels封装的指数平滑函数预测需求。 1预测误差 预测误差是指预测结果与预测对象发展变化的真实结果之间的差距。这种误差分为绝对误差和相对误差。绝对误差是预测值与实际观测值的绝对差距,而相对误差则…

分期乐(乐信)与银行机构合伙放贷,谁是真正的受益者?

分期乐(乐信)与银行机构的合作放贷模式,无疑在金融领域引起了广泛关注。这种合作模式似乎为各方都带来了不小的利益,但究竟谁是真正的受益者呢? 银行受益:对于银行机构而言,与分期乐&#xff0…

C是用什么语言写出来的?

C是用什么语言写出来的? C语言的起源和发展是一个迭代过程: 1. 最初的C语言编译器的开发始于对B语言的改进。B语言是由Ken Thompson设计的,它是基于BCPL语言简化而来的。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「 C语言的…

RocketMQ学习笔记:分布式事务

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、分布式事务的难题2、解决方式2.1、半事务消息和事务回查2.2、代码样例2.2.1、TransactionListener2.2.2、TransactionMQProducer2.2.3、MessageListenerConcurrently2.2.4、流程图 1、分布…

C++判断点是否在三角形内部

1.问题 判断点是否在三角形内部。 2.思路 计算向量AB和AP的叉积、向量BC和BP的叉积、向量CA和CP的叉积&#xff0c;如果所有的叉积符号相同&#xff0c;则点在三角形内部。 3.代码实现和注释 #include <iostream> #include <vector>// 计算两个二维向量的叉积 …

数据结构-队列-005

1链式队列 运行结果如下&#xff1a; 1.1链式队列结点定义 /*自定义一个数据类型*/ typedef struct student {char name[32];char sex;int age; }DATA_TYPE;/*定义一个链式队列结点*/ typedef struct link_queue_node {DATA_TYPE data;//数据域struct link_queue_node *pne…