当前位置: 首页 > news >正文

嵌入式开发学习日志34——stm32之RTC实时时钟系统

        虽然本章重点在RTC,但在正式开始介绍RTC前,让我们先把目光看向时间转换的概念。

        Unix时间戳,从1970一月一日开始加算的总秒数,存储在秒计时器中,由于世界各地区只需要通过增加适量的偏移便可得到当地时间,所以受到广泛应用。

        时间戳总共有两种规格,一种是GMT(格林尼治时间),这是以地球自转为基础设计的时钟计量系统,但是由于地球自转越来越快,所以用这种规格计算的时间会有所偏差;另一种是UTC(协调世界钟),这是以原子钟为基础设计出的时钟计量系统,当它计算的时间与地球自转时间相差超过0.9秒时,就会自动加入闰秒来进行修正,更加精确一些。

        在C语言库中,也为我们提供了可以用时间戳进行时间转换的函数,下面就举几个最典型的。

       函数time_t time(time_t*),用于获取系统时钟;函数struct tm* gmtime(const time_t*),用于将秒计数器转换为格林尼治时间;函数struct tm* localtime(const tim_t*),用于将秒计数器转换为本地时间。

        了解完时间转换后,让我们正式步入RTC实时时钟系统。

        所谓RTC实时时钟其实是个独立的定时器,在一定配置下,操作者可以通过改变RTC模块中的一连串计数器的数值来重新设置系统时间。

        为什么要用这个模块来计算存储时间呢?

        实际上,这正是因为RTC模块存储的数据十分保险,很难丢失。

        RTC模块中,有一个寄存器叫做BKP备份寄存器,这就是用于存储用户数据的部分。BKP有一个极其重要的特点,它可以由两个电源进行供电,当外部提供的VDD被切断,BKP仍然可以使用后背电源VBAT继续供电,只有当两个电源都被切断时,BKP才会结束工作。

        除此之外,BKP寄存器的TAMPER引脚还可以检测外部侵入事件,一旦有人试图从外部窃取BKP中的数据,那么BKP就会自动将数据清除,并且产生中断。

        不过由于是在单片机上的应用,所以BKP能存储的数据量并不大,小一点的20字节,大一点的84字节。

        RTC的时钟配置都存放于后备区域中,而数据也正是存储在RTC模块的备份域,结合BKP,RTC模块就可以做到安全有效地存储用户数据。

        RTC作为独立定时器,并没有先前介绍的通用定时器有那么多计数方式,它只能向上计数,而且由于有两种电源,所以为了保证VDD被切断后定时器仍然能够正常运转,RTC的时钟来源外部低速时钟LSE(32.768khz)

        下面是RTC模块的配置步骤:

        (1)使能电源时钟以及后备域(BKP)时钟,开启RTC后备寄存器的写访问

        (2)复位备份区域(由于每次复位都会导致先前的数据被清除,所以是否复位视情况而定),开启外部低速时钟。

        (3)选择并使能RTC时钟。

        (4)配置RTC分频,设置秒中断以及时间。

        (5)设置RTC中断分组。

        (6)编写中断服务函数。

http://www.dtcms.com/a/442366.html

相关文章:

  • 蓝桥杯单片机进阶教程——蜂鸣器继电器
  • 美发店收银系统售后
  • 力扣hot100 | 动态规划2 | 139. 单词拆分、300. 最长递增子序列、152. 乘积最大子数组、416. 分割等和子集、32. 最长有效括号
  • 做外贸一般看什么网站卓越网站建设的优点
  • centos8安装docker【新】
  • LeetCode算法日记 - Day 61: 解数独、单词搜索(附带模版总结)
  • 李宏毅machine learning 2021学习笔记——transformer
  • hana C# 连接问题
  • 每日一个网络知识点:TCP/IP参考模型
  • 网站报价明细网络营销战略内容
  • springboot+vue会议室管理系统(源码+文档+调试+基础修改+答疑)
  • 不依赖WMI的硬件检测工具,数据更准、速度更快
  • k8s 部署 gitlab 公网无法访问排查
  • 昆明市住房和城乡建设局网站铜川网站建设哪家好
  • 国外医院网站设计微网站建设正规公司
  • 推广网站代码中国八大设计院排名
  • 【Nest】日志记录
  • 什么网站可以做汽车国际贸易php网站开发实例教程 课件
  • [Linux基础——Lesson11.Shell运行原理------王婆传媒]
  • 梦幻创意网站建设互动平台怎么注册
  • 第三十八章 ESP32S3 SPIFFS 实验
  • Seata 与 Redisson从底层到实战
  • 如何将wsl安装的Ubuntu系统从C盘移到D盘?
  • 怎么用阿里云做网站如何开发游戏
  • 网站服务器费用免费生成ppt的网站
  • 自动驾驶中的传感器技术62——USS(8)
  • AI时代数据存储和数据恢复 | 数据恢复损坏文件修复经验建议
  • 淄博网站制作定制中国寰球工程公司
  • MTK调试- 工程模式配置
  • 黑龙江生产建设兵团知识网站商城系统平台开发