0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RTC相关知识

CHANBAEK 来源:土DOU吹雪 作者:土豆吹雪 2023-05-26 15:37 次阅读

RTC 是一个独立的定时器,能够在 STM32 的低功耗模式下运行。

选择 RTC 时钟

RTC 时钟的时钟源能够有三种选择,分别是 HSE 高速晶振、LSE 低速晶振、LSI 内部晶振,如题下图所示。

pYYBAGRwYT-AB6NrAAFgPOr4Ms4753.png

通过 RCCHSEConfig()、RCCLSEConfig()、RCC_LSICmd() 三个函数能够分别对上述三种时钟进行设置。

本质上分别是对 RCCCR、RCCBDCR、RCC_CSR 中相对应寄存器进行设置。

通过 RCC_RTCCLKConfig() 等函数能够选择 RTC 的时钟源,如下图所示:

pYYBAGRwYUSAOEHyAAAmsI-STtQ652.png

RTC 结构

poYBAGRwYUqAPF5bAAMZvOFRABs762.png

RTC 和 BKP 的结构如上图所示,阴影部分是 BKP 区域,其中有 RTC 相关的寄存器,后备区域独立于 CPU,通过对 PWRCR 寄存器中 DBP 的置位,即 PWRBackupAccessCmd() 函数,能够开启 RTC 和 BKP 区域的写使能,理论上说,设置 RTCCRL 寄存器中的 CNF 位即 RTCEnterConfigMode() 函数也能够让 RTC 进入设置模式,但目前操作不成功。

RTCPRL 置位后,RTCCNT 计数器开始运行,配合 RTCALR、RTCCR 等寄存器,开始实现 RTC 功能。

pYYBAGRwYVCAZ-vIAABT1ZaPcss180.png

RTCWaitForSynchro() 函数,读 RTCCLR 寄存器中 RSF 位,确保RTCCNT、RTCALR或RTCPRL已经被同步。(若在读取RTC寄存器时,RTC的APB1接口曾经处于禁止状态,则软件首先必须等待RTCCRL寄存器中的RSF位(寄存器同步标志)被硬件置’1’。)

RTCWaitForLastTask() 函数,读 RTCCLR 寄存器中 RTOFF 寄存器,判断上一次操作是否已完成。

RTCITConfig(RTCITSEC,ENABLE) 函数,开启 RTC 中的秒中断,RTC 中共有三种中断,如上图所示,由 RTCCR 寄存器中的相关标志位管理。

RTCSetPrescaler() 函数设置上图中 RTCPRL 寄存器,即预分频值,PRL 寄存器修改后会装载进 RTCDIV 寄存器,通过读 RTCDIV 寄存器能够得到 RTC_PRL 寄存器中的值。

RTC 和 PWR 待机模式

STM32 能够通过某些操作进入待机模式(Standby Mode),待机模式能够通过 RTC 的闹钟中断唤醒(Alarm),其中有两点需要注意:

中断需要在进入待机模式前启动,进入待机模式后无法配置 RTC 寄存器。

PWR 模式被唤醒后,执行完 Alarm 中断处理程序,会重新从主函数开始运行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 晶振
    +关注

    关注

    32

    文章

    2562

    浏览量

    67197
  • STM32
    +关注

    关注

    2250

    文章

    10727

    浏览量

    350461
  • 定时器
    +关注

    关注

    23

    文章

    3184

    浏览量

    112700
  • RTC
    RTC
    +关注

    关注

    2

    文章

    494

    浏览量

    65640
  • 时钟源
    +关注

    关注

    0

    文章

    90

    浏览量

    15831
收藏 人收藏

    评论

    相关推荐

    如何对实时时钟进行低功耗 RTC规范和相关的设计挑战

    ,为什么系统工程师会花更多的钱并愿意为RTC浪费更多的PCB空间?为什么独立的RTC不再过时?本文将重点介绍RTC在不同应用中的重要性,并概述关键的RTC规范和
    的头像 发表于 12-09 14:13 4497次阅读
    如何对实时时钟进行低功耗 <b class='flag-5'>RTC</b>规范和<b class='flag-5'>相关</b>的设计挑战

    总结RTC(Real Time Clock)实时时钟相关知识

    STM32F030_RTC详细配置说明今天总结RTC(Real Time Clock)实时时钟相关知识。在进行RTC的讲解前,我先对BKP
    发表于 08-05 08:19

    关于RTC时钟的知识

    在做智能手环时候使用到了关于RTC时钟的,今天我们来复习一下关于他的知识点。文章中我是参考的有STM32f411的中文参考手册,需要的话我会上传这个pdf版。实时时钟(RTC)养成查资料的好习惯
    发表于 08-11 08:27

    RTC实时时钟相关知识点汇总,不看肯定后悔

    RTC实时时钟相关知识点汇总,不看肯定后悔
    发表于 11-23 07:12

    DS1302 RTC有关的知识介绍

    【朱老师课程总结 侵删】第一部分、章节目录1.14.1.RTC有关的背景知识1.14.2.原理图和接线1.14.3.数据手册带读1.14.4.时序图的读法11.14.5.时序图的读法21.14.6.
    发表于 12-10 06:21

    电容与电器器相关知识

    电容与电器器相关知识
    发表于 11-18 16:50 14次下载

    温控器相关知识

    温控器相关知识
    发表于 06-30 13:14 1184次阅读

    消毒柜相关知识

    消毒柜相关知识 为使大家进一步了解消毒柜基本知识,现简单介绍一些消毒柜相关知识。     基本术
    发表于 01-14 16:40 1254次阅读

    protel,pcb,单片机,stm32相关知识

    protel相关知识,pcb相关知识,单片机相关知识,stm32
    发表于 03-10 17:18 0次下载

    STM32F030_RTC实时时钟相关知识资料下载

    电子发烧友网为你提供STM32F030_RTC实时时钟相关知识资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,
    发表于 04-04 08:55 13次下载
    STM32F030_<b class='flag-5'>RTC</b>实时时钟<b class='flag-5'>相关</b>的<b class='flag-5'>知识</b>资料下载

    043-ACMICPC相关知识

    043-ACMICPC相关知识(开关电源中高压电容怎么选择)-ACMICPC相关知识;ACMICPC相关
    发表于 07-26 11:56 12次下载
    043-ACMICPC<b class='flag-5'>相关</b><b class='flag-5'>知识</b>

    总降调度相关知识

    总降调度相关知识(开关电源技术与设计潘pdf)-总降调度相关知识                   
    发表于 09-23 16:33 8次下载
    总降调度<b class='flag-5'>相关</b><b class='flag-5'>知识</b>

    RTC时钟源和RTC寄存器的基本知识

    RTC控制寄存器 (RTC_CRH, RTC_CRL)
    的头像 发表于 06-10 08:53 6917次阅读
    <b class='flag-5'>RTC</b>时钟源和<b class='flag-5'>RTC</b>寄存器的基本<b class='flag-5'>知识</b>

    什么是RTCRTC的基础知识

    RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。
    的头像 发表于 08-28 10:20 3w次阅读
    什么是<b class='flag-5'>RTC</b>?<b class='flag-5'>RTC</b>的基础<b class='flag-5'>知识</b>

    母线保护相关知识分享

    母线保护相关知识分享
    的头像 发表于 01-19 10:29 251次阅读
    母线保护<b class='flag-5'>相关</b><b class='flag-5'>知识</b>分享