stm32 rtc实时时钟实验

stm32 rtc实时时钟实验

ID:11629297

大小:1.54 MB

页数:21页

时间:2018-07-13

stm32 rtc实时时钟实验_第1页
stm32 rtc实时时钟实验_第2页
stm32 rtc实时时钟实验_第3页
stm32 rtc实时时钟实验_第4页
stm32 rtc实时时钟实验_第5页
资源描述:

《stm32 rtc实时时钟实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ALIENTEK《例说STM32》例说STM322021/6/23广州市星翼电子科技有限公司1ALIENTEK开发板购买店铺店铺:http://eboard.taobao.comALIENTEK第12讲RTC实时时钟12.1RTC简介12.2RTC寄存器介绍12.3RTC配置步骤12.4实验讲解《例说STM32》22021/6/23广州市星翼电子科技有限公司ALIENTEK12.1RTC简介《例说STM32》32021/6/23广州市星翼电子科技有限公司STM32的实时时钟(RTC)是一个独立的定时器。STM32的RTC模块拥

2、有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和RTC,以防止对后备区域(BKP)的意外写操作。所以在要设置时间之前,先要取消备份区域(BKP)写保护。ALIENTEK《例说STM32》42021/6/23广州市星翼电子科技有限公司RTC的简化框图,如下图所示:ALIENTEK《例说STM32》520

3、21/6/23广州市星翼电子科技有限公司RTC由两个主要部分组成(参见图16.1),第一部分(APB1接口)用来和APB1总线相连。此单元还包含一组16位寄存器,可通过APB1总线对其进行读写操作。APB1接口由APB1总线时钟驱动,用来与APB1总线接口。另一部分(RTC核心)由一组可编程计数器组成,分成两个主要模块。第一个模块是RTC的预分频模块,它可编程产生最长为1秒的RTC时间基准TR_CLK。RTC的预分频模块包含了一个20位的可编程分频器(RTC预分频器)。如果在RTC_CR寄存器中设置了相应的允许位,则在每个TR

4、_CLK周期中RTC产生一个中断(秒中断)。第二个模块是一个32位的可编程计数器,可被初始化为当前的系统时间,一个32位的时钟计数器,按秒钟计算,可以记录4294967296秒,约合136年左右,作为一般应用,这已经是足够了的。ALIENTEK《例说STM32》62021/6/23广州市星翼电子科技有限公司RTC还有一个闹钟寄存器RTC_ALR,用于产生闹钟。系统时间按TR_CLK周期累加并与存储在RTC_ALR寄存器中的可编程时间相比较,如果RTC_CR控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。RTC内核完

5、全独立于RTCAPB1接口,而软件是通过APB1接口访问RTC的预分频值、计数器值和闹钟值的。但是相关可读寄存器只在RTCAPB1时钟进行重新同步的RTC时钟的上升沿被更新,RTC标志也是如此。这就意味着,如果APB1接口刚刚被开启之后,在第一次的内部寄存器更新之前,从APB1上都处的RTC寄存器值可能被破坏了(通常读到0)。因此,若在读取RTC寄存器曾经被禁止的RTCAPB1接口,软件首先必须等待RTC_CRL寄存器的RSF位(寄存器同步标志位,bit3)被硬件置1。ALIENTEK12.2RTC相关寄存器《例说STM32》

6、72021/6/23广州市星翼电子科技有限公司控制寄存器高位RTC_CRHRTC总共有2个控制寄存器RTC_CRH和RTC_CRL,两个都是16位的。RTC_CRH寄存器用来控制中断的,我们本章将要用到秒钟中断,所以在该寄存器必须设置最低位为1,以允许秒钟中断。ALIENTEK《例说STM32》82021/6/23广州市星翼电子科技有限公司控制寄存器低位RTC_CRL)ALIENTEK《例说STM32》92021/6/23广州市星翼电子科技有限公司ALIENTEK《例说STM32》102021/6/23广州市星翼电子科技有限公

7、司本章我们用到的是该寄存器的0、3~5这几个位,第0位是秒钟标志位,我们在进入闹钟中断的时候,通过判断这位来决定是不是发生了秒钟中断。然后必须通过软件将该位清零(写0)。第3位为寄存器同步标志位,我们在修改控制寄存器RTC_CRH/CRL之前,必须先判断该位,是否已经同步了,如果没有则等待同步,在没同步的情况下修改RTC_CRH/CRL的值是不行的。第4位为配置标位,在软件修改RTC_CNT/RTC_ALR/RTC_PRL的值的时候,必须先软件置位该位,以允许进入配置模式。第5位为RTC操作位,该位由硬件操作,软件只读。通过该

8、位可以判断上次对RTC寄存器的操作是否完成,如果没有,我们必须等待上一次操作结束才能开始下一次操作。ALIENTEK《例说STM32》112021/6/23广州市星翼电子科技有限公司预分频装载寄存器RTC_PRLH/RTC_PRLL由2个寄存器组成,RTC_PRLH和RTC_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。