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

这篇具有很好参考价值的文章主要介绍了嵌入式——实时时钟(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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

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

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

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

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

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

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

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

2.RTC结构

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

补充:

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

        ①HSE时钟除以128。

        ②LSE振荡器时钟。

        ③LSI振荡器时钟。

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

(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(使能备份访问)

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

4.设置RTC的日期和时间

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

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记

嵌入式——实时时钟(RTC),单片机,stm32,嵌入式硬件,笔记文章来源地址https://www.toymoban.com/news/detail-825712.html

到了这里,关于嵌入式——实时时钟(RTC)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式开发:单片机嵌入式Linux学习路径

    SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。高端SOC如基于Cortex-A架构的芯片,如三星、高通、飞卡、全志和瑞芯微等,具备MMU,支持虚拟内

    2024年02月15日
    浏览(57)
  • 嵌入式和单片机

    凡是从事信息技术相关工作的,一定都听说过嵌入式和单片机。 大家都知道,这两个名词,和硬件系统有着非常密切的关系。 但是,如果要问具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。 今天,小编就给大家做一个入门科

    2024年02月07日
    浏览(58)
  • 7. 嵌入式与单片机

    常见面试题 请说说你对嵌入式的理解。⭐⭐⭐⭐ 嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统 主要由 嵌入式微处理器 、 外围硬件设备 、 嵌入式操作系统以及用户

    2024年02月02日
    浏览(89)
  • 单片机/嵌入式小白教程—硬件(三)51单片机最小系统

    目录 简介 51单片机器件原理图 复位电路 供电电路 晶振电路 下载电路 最小系统原理图  更加方便的51单片机 传统51单片机最小系统包含:复位电路、供电电路、晶振电路、下载电路   其中, 第9脚(RST)为复位引脚, 第40脚(VCC)第20脚(GND)为供电引脚, 第19脚(XTAL1)第

    2024年02月08日
    浏览(75)
  • 单片机(嵌入式)程序分层架构

    目录 前言 嵌入式3层软件架构 嵌入式4层软件架构-1 驱动层 操作系统层 中间件层 应用层 嵌入式4层软件架构-2 硬件层 嵌入式微处理芯片 嵌入式存储器系统 嵌入式I/O接口 中间层 系统软件层 RTOS 文件系统 GUI 应用层 嵌入式5层软件架构1 嵌入式5层软件架构2 嵌入式6层软件架构

    2023年04月19日
    浏览(80)
  • 单片机和Linux嵌入式区别

    单片机是一种集成电路,它能够在一个芯片上完成各种计算、控制和管理任务。单片机没有明确的分层,这是因为它通常被用来设计嵌入式系统,其程序结构和功能要根据具体的应用需求来设计。 在单片机的程序设计中,可以通过一些方法将程序分为不同的层次,比如可以将

    2024年01月17日
    浏览(64)
  • 【单片机/嵌入式】最完整学习路线

            关于这个问题我在网上寻找到 了 相关文章解释得很详细,不了解的同学可以参考一下这篇文章: 到底什么是嵌入式?什么是单片机? - 知乎         一个人学习是孤独的,如果你是一名学生,建议加入学校的电子社团或者实验室,有老师的帮助和同学的互助

    2024年02月03日
    浏览(54)
  • 嵌入式51单片机04-矩阵按键系列

    一、矩阵按键基础知识 矩阵按键工作原理 : 逐行扫描 :通过高四位轮流输出低电平来对矩阵键盘进行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过判断低四位数据中哪一位为零来判断哪一个按键被按下。 逐列扫描 :通过低四位轮流输出低电平来

    2024年02月07日
    浏览(65)
  • 【唠唠嵌入式】__如何学习单片机?

    目录 前言 个人定位,从事软件还是硬件? 学习内容 (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 作为一个老司机,多年来跟 单片机 、 Keil 、 C语言 、 AD 、 烙铁 、 风枪 、 示波器 、 电子元器件 纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头

    2024年02月06日
    浏览(71)
  • 嵌入式(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

    上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求,如嵌入在家电、汽车、医疗设备、工业自动化、消费

    2024年02月02日
    浏览(108)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包