您的位置 首页 软件

STM32再学习——实时时钟(RTC)

RTC,是Real Time Counter的缩写。在MCU中,其实是一组连续计数的计数器,各个产品及系列各不相同。因此,在相应的软件配置下,可提供时钟日历的功能。当然,修改这个计数器的值也就重新设置

  RTC,是Real Time Counter的缩写。在MCU中,其实是一组接连计数的计数器,各个产品及系列各不相同。因而,在相应的软件装备下,可提供时钟日历的功用。当然,修正这个计数器的值也就从头设置了体系当时的时刻和日期。

  RTC仅仅一个时钟,但与RTC相连的有两个体系时钟,一个是APB1接口的PCLK1另一个是RTC时钟[留意1]。这样,RTC功用也就分为两个部分:榜首部分,APB1接口部分,与APB1总线相连,MCU也便是经过这条总线对其进行读写操作。另一部,RTC核,由一系列可编程计数器组成,这部分又再细分为两个组件:预分频模块与32位可编程计数器。预分频模块用来产生最长为1秒的RTC时刻基准,而32位的可编程的计数器可被初始化为当时的体系时刻。

  下图为RTC简化框图:

  读RTC寄存器

  从上面的作业原理可知,RTC核彻底独立于RTC APB1接口,软件经过APB1接口来访问RTC的各项参数,包含预分频值、计数器值等等,可是这些参数值只在RTC时钟的上升沿被更新,之后,RTC时钟会与RTC APB1时钟进行从头同步。这儿会有一些问题呈现,便是在APB1接口刚刚被敞开时,榜首次的内部寄存器更新之前,那么此刻从RTC寄存器中读出的榜首个值或许被破坏了,例如下面所述的三种状况:

  •   产生体系复位或电源复位

  •   体系刚从待机形式唤醒

  •   体系刚从停机形式唤醒

  能够简略得出,在APB1接口被制止时(复位,无时钟或断电)RTC核仍坚持运转状况。因而,在制止了RTC的APB1接口后,软件首要须等等RSF位被硬件置1.

  RTC功用装备

  1. 查询RTOFF 位,直到RTOFF 的值变为“1”

  2. 置CNF 值为1,进入装备形式

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

  4. 铲除CNF 标志位,退出装备形式

  5. 查询RTOFF,直至RTOFF 位变为“1” 以承认写操作现已完结。

  仅当CNF 标志位被铲除时,写操作才干进行,这个进程至少需求3 个RTCCLK 周期。

  留意1:RTC时钟有必要小于PCLK1时钟的四分之一以上。

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/118406.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部