嵌入式——实时时钟(RTC)

目录

一、初识RTC

1.简介

2.特性

3.后备寄存器和RTC寄存器特性

二、RTC组成

1.相关寄存器

(1)控制寄存器高位(RTC_CRH)

(2)控制寄存器低位(RTC_CRL)

(3)预分频装载寄存器高位(RTC_PRLH)

(4)预分频裝载寄存器低位(RTC_PRLL)

(5)计数器寄存器高位(RTC_CNTH)

(6)计数器寄存器低位(RTC_CNTL)

(7)电源控制寄存器(PWR_CR)

(8)APB1 外设时钟使能寄存器(RCC_APB1ENR)

(9)备份域控制寄存器(RCC_BDCR)

2.RTC结构

3.RTC基本配置步骤

4.RTC系统配置流程描述

三、RTC驱动程序


一、初识RTC

1.简介

        实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能,计数频率常为秒。修改计数器的值可以重新设置系统当前的时间和日期。

2.特性

(1)32位的可编程计数器,可用于较长时间段的测量

(2)能在MCU掉电后运行

(3) 低功耗

3.后备寄存器和RTC寄存器特性

(1)部分寄存器写保护:RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器不会被系统复位。

(2)数据存储功能:RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。后备寄存器可用于保存掉电时的数据

(3)独立工作:RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由VBAT引脚供电在VBAT供电时仍可继续工作

(4)2个独立复位:APB1接口由系统复位;RTC核心只能由后备域复位;

二、RTC组成

1.相关寄存器

(1)控制寄存器高位(RTC_CRH

位2(OWIE):允许溢出中断位。

位1(ALRIE):允许闹钟中断。

位0(SECIE):允许秒中断。

(2)控制寄存器低位(RTC_CRL

位5(RTOFF):RTC操作关闭。(指示对其寄存器进行的最后一次操作的状态,即指示操作是否完成

位4(CNF):配置标志。(只有当此位在被置’1’并重新由软件清’0’后,从而允许向RTC_CNT、RTC_ALR或RTC_PRL寄存器写入数据)

(3)预分频装载寄存器高位(RTC_PRLH)

(4)预分频裝载寄存器低位(RTC_PRLL)

(5)计数器寄存器高位(RTC_CNTH)

(6)计数器寄存器低位(RTC_CNTL)

(7)电源控制寄存器(PWR_CR

(8)APB1 外设时钟使能寄存器(RCC_APB1ENR

位28(PWREN):电源接口时钟使能。

位27(BKPEN):备份接口时钟使能。

(9)备份域控制寄存器(RCC_BDCR

位15(RTCEN):RTC时钟使能。

位9:8(RTCSEL):RTC时钟源选择。

位 0(SEON):外部低速振荡器使能。

2.RTC结构

        RTC由两个主要部分组成。第一部分(APB1接口)用来和APB1总线相连另一部分(RTC核心)由一组可编程计数器组成,分成两个主要模块。第一个模块是RTC的预分频模块(可编程产生最长为1秒的RTC时间基准TR_CLK)。第二个模块是一个32位的可编程计数器,可被初始化为当前的系统时间

补充:

(1)RTC可以选择三种RTC的时钟源

        ①HSE时钟除以128。

        ②LSE振荡器时钟。

        ③LSI振荡器时钟。

(2)RTC的APB1单元还包含一组16位寄存器,可通过APB1,总线对其进行读写操作。

(3)APB1接口由APB1总线时钟驱动,用来与APB1总线接口。

(4)RTC的预分频模块包含的是一个20位的可编程分频器(RTC预分频器),分频系数最高为2的20次方

(5)RTC有3个专门的可屏蔽中断

        ①闹钟中断:用来产生一个软件可编程的闹钟中断。

        ②秒中断:用来产生一个可编程的周期性中断信号(最长可达1秒)。

        ③溢出中断:指示内部可编程计数器溢出并回转为0的状态。

(6)如果在RTC_CR寄存器中设置了相应的允许位,则在每个TR_CLK周期中RTC产生一个中断(秒中断)。

(7)系统时间按TR_CLK周期累加并与存储在RTC_ALR寄存器中的可编程时间相比较,如果RTC_CR控制寄存器中设置了相应允许位,比较匹配时将产生一个中断(闹钟中断)。

3.RTC基本配置步骤

(1)使能对RTC的访问:使能PWR和BKP时钟(RCC_APB1ENR、使能对后备寄存器和RTC(PWR_CR的访问权限

(2)设置RTC时钟源:激活LSE,设置RTC的计数时钟源为LSE。(RCC_BDCR

(3)进入配置模式:等待 RTOFF位为1,设置CNF位为1。(RTC_CRL

(4)设置RTC寄存器:设置分频值、计数值等(RTC_PRL),一般先只设置分频值,CNT的设置独立。

(5)退出配置模式:清除CNF位,等待RTOFF 位为1(RTC_CRL)即配置完成。

4.RTC系统配置流程描述

(1)查询RTOFF位,直到RTOFF的值变为1。

(2)置CNF值为1,进入配置模式

(3)对一个或多个RTC寄存器进行写操作

(4)清除CNF标志位退出配置模式

(5)查询RTOFF,直至RTOFF位变为’1‘以确认写操作已经完成。

三、RTC驱动程序

1.使能电源时钟并使能后备域访问:__HAL_RCC_PWR_CLK_ENABLE(使能电源时钟)、__HAL_RCC_BKP_CLK_ENABLE (使能备份时钟)、HAL_PWR_EnableBkUpAccess(使能备份访问)

2.开启LSE / 选择RTC时钟源 / 使能RTC时钟:HAL_RCC_OscConfig(开启LSE)、HAL_RCCEx_PeriphCLKConfig (选择RTC时钟源)、__HAL_RCC_RTC_ENABLE (使能RTC时钟)

3.初始化RTC,设置分频值以及工作参数:HAL_RTC_Init(初始化RTC)、HAL_RTC_MspInit(完成RTC底层初始化工作)

4.设置RTC的日期和时间

5.获取RTC当前日期和时间

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

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

相关文章

『建议收藏』OpenAI官方出的Prompt提示词教程中文版来了!

一些结论 六大策略: 写清晰的指令 提供参考文本 将复杂任务分解为更简单的子任务 给模型时间“思考” 使用外部工具 系统性测试变化 提高结果质量的六大策略 写清晰的指令 这些模型无法读懂你的想法。如果输出过长,要求简短回复;如果输出过于简单…

Redis客户端之Redisson(二)Redisson组件

Redisson的几个常用客户端 一、RedissonClient 1、创建 通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。 Config config new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); RedissonC…

【python】argparse解析参数的过程

python基础知识 python文件解析if __name__ __main__的作用import到底导入了什么?argparse解析命令行参数的过程 python文件解析 Python和C语言的编译、执行过程有很大区别。我们先回顾一下c语言的执行过程,首先代码文件要编译,编译通过&am…

【C++杂货铺】详解类和对象 [上]

博主:代码菌-CSDN博客 专栏:C杂货铺_代码菌的博客-CSDN博客 目录 🌈前言🌈 📁 面向对象语言的特性 📁 类 📂 概念 📂 定义 📁 访问限定符 📂分类 &#x…

《WebKit 技术内幕》学习之十五(1):Web前端的未来学习

1 趋势 说到Web方面的趋势,特别是HTML5获得的巨大发展,W3C和WHATWG等组织正在不停地推动规范的演进和引入新的规范,这一举动必将极大地推动Web前端的发展。就目前Web前端来说,各种类型的技术非常多,极容易引起大家的误…

CMake 完整入门教程(一)

1 前言 每一次学习新东西都是很有乐趣的,虽然刚开始会花费时间用来学习,但是实践证明,虽然学习新东西可能会花费一些时间,但是它们带来的好处会远远超过这些花费的时间。学习新东西是值得的,也是很有乐趣的。 网络上…

【K8S 云原生】K8S的图形化工具——Rancher

目录 一、rancher概述 1、rancher概念 2、rancher和K8S的区别: 二、实验 1、安装部署 2、给集群添加监控: 3、创建命名空间: 4、创建deployment: 5、创建service: 6、创建ingress: 7、创建hpa 8…

基于高精度YOLOv8开发构建公共场景下行人人员姿态估计分析识别系统

姿态估计(PoseEstimation)在我们前面的相关项目中涉及到的并不多,CV数据场景下主要还是以目标检测、图像识别和分割居多,最近正好项目中在使用YOLO系列最新的模型开发项目,就想着抽时间基于YOLOv8也开发构建实现人体姿…

知识笔记(九十七)———什么是实体符???

在HTML中&#xff0c;有些字符无法直接在文本中输入&#xff0c;因为它们是HTML语言的保留字符&#xff0c;如小于号&#xff08;<&#xff09;、大于号&#xff08;>&#xff09;、&符号&#xff08;&&#xff09;等。为了将这些字符显示在网页上&#xff0c;需…

[UI5 常用控件] 02.Title,Link,Label

文章目录 前言1. Title1.1 结合Panel1.2 结合Table1.3 Title里嵌套Link 2. Link3. Label3.1 普通用法3.2 在Form里使用 前言 本章节记录常用控件Title,Link,Label。 其路径分别是&#xff1a; sap.m.Titlesap.m.Linksap.m.Label 1. Title Title可以结合其他控件一起使用 1.…

总结红包雨项目的所有代码,包括添加图片,分享按钮,红包雨,用户是否有抽奖逻辑判断

整体实现效果: 需要用的图片: html: <body><div id"app"><!-- <div class"share-box"><img src"./share_box.png" alt"share-button"></div> --><!-- img图片 --><div class"gif-…

DNS解析记录类型

在数字化时代&#xff0c;理解DNS&#xff08;域名系统&#xff09;解析的各种记录类型对于任何网络专业人士来说都是至关重要的。DNS作为互联网的基石&#xff0c;其记录类型的多样性和复杂性使得网络通信既高效又安全。以下是对DNS记录类型的详细解读。 A记录&#xff08;Ad…

axios结合ts使用,取消请求,全局统一获取数据,抛出错误信息

通常在开发时&#xff0c;后端向前端返回的数据可以如下&#xff1a; 1 使用restful api充分利用http状态码&#xff0c;然后在data中追加code字段&#xff0c;请求成功返回200,请求失败返回404,401,500等状态码&#xff0c;并且在code字段中给出详细的字符串信息2 再包一层&a…

JVM基础知识汇总篇

☆* o(≧▽≦)o *☆嗨~我是小奥&#x1f379; &#x1f4c4;&#x1f4c4;&#x1f4c4;个人博客&#xff1a;小奥的博客 &#x1f4c4;&#x1f4c4;&#x1f4c4;CSDN&#xff1a;个人CSDN &#x1f4d9;&#x1f4d9;&#x1f4d9;Github&#xff1a;传送门 &#x1f4c5;&a…

【力扣每日一题】力扣2865美丽塔I

题目来源 力扣2865美丽塔I 题目概述 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i &#xff0c;高度为 heights[i] 。 如果以下条件满足&#xff0c;我们称这些塔是 美丽 的&#xff1a; 1 < heights…

翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一

随着 OpenAI 在多模态方面的最新进展&#xff0c;想象一下将这种能力与视觉理解相结合。 现在&#xff0c;您可以在 Streamlit 应用程序中使用 GPT-4 和 Vision&#xff0c;以&#xff1a; 从草图和静态图像构建 Streamlit 应用程序。帮助你优化应用的用户体验&#xff0c;包…

《合成孔径雷达成像算法与实现》Figure5.18

clc clear close all距离向参数 R_eta_c 20e3; % 景中心斜距 Tr 25e-6; % 发射脉冲时宽 Kr 0.25e12; % 距离向调频率 Fr 7.5e6; % 距离向采样率 Nrg 256; % 距离线采样点数 Bw abs(Kr*Tr); …

Redis面试题35

什么是大数据&#xff1f;它有哪些应用场景&#xff1f; 答&#xff1a;大数据&#xff08;Big Data&#xff09;是指规模庞大、复杂多样的数据集合&#xff0c;以及从这些数据中提取、分析和运用的技术和方法。 大数据的特点主要包括3V&#xff1a;Volume&#xff08;大量&…

.NET绿色开源一键自动化下载、安装、激活Office的利器

前言 今天分享一款.NET开源、绿色、安全、无毒的支持一键自动化下载、安装、激活Microsoft Office的利器&#xff1a;LKY_OfficeTools。 工具介绍 一键自动化下载、安装、激活 Microsoft Office 的利器。绿色、开源、安全、无毒。 目前包含的功能&#xff1a; 一键快速下载、…

【机器学习300问】16、逻辑回归模型实现分类的原理?

在上一篇文章中&#xff0c;我初步介绍了什么是逻辑回归模型&#xff0c;从它能解决什么问题开始介绍&#xff0c;并讲到了它长什么样子的。如果有需要的小伙伴可以回顾一下&#xff0c;链接我放在下面啦&#xff1a; 【机器学习300问】15、什么是…