Stm32F103R6之实时时钟(RTC)

目录

概述

主要特性

读RTC寄存器

配置RTC寄存器


概述

实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。

RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。

系统复位后,对后备寄存器和RTC的访问被禁止,这是为了防止对后备区域(BKP)的意外写操作。执行以下操作将使能对后备寄存器和RTC的访问:

● 设置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能电源和后备接口时钟

● 设置寄存器PWR_CR的DBP位,使能对后备寄存器和RTC的访问。

Stm32F103R6之实时时钟(RTC)

图 1RTC框图

主要特性

● 可编程的预分频系数:分频系数最高为220。

● 32位的可编程计数器,可用于较长时间段的测量。

● 2个分离的时钟:用于APB1接口的PCLK1和RTC时钟(RTC时钟的频率必须小于PCLK1时钟频率的四分之一以上)。

● 可以选择以下三种RTC的时钟源:

─ HSE时钟除以128;

─ LSE振荡器时钟;

─ LSI振荡器时钟。

● 2个独立的复位类型:

─ APB1接口由系统复位;

─ RTC核心(预分频器、闹钟、计数器和分频器)只能由后备域复位。

● 3个专门的可屏蔽中断:

─ 闹钟中断,用来产生一个软件可编程的闹钟中断。

─ 秒中断,用来产生一个可编程的周期性中断信号(最长可达1秒)。

─ 溢出中断,指示内部可编程计数器溢出并回转为0的状态。

读RTC寄存器

RTC核完全独立于RTC APB1接口。

软件通过APB1接口访问RTC的预分频值、计数器值和闹钟值。但是,相关的可读寄存器只在与RTC APB1时钟进行重新同步的RTC时钟的上升沿被更新。RTC标志也是如此的。 这意味着,如果APB1接口曾经被关闭,而读操作又是在刚刚重新开启APB1之后,则在第一次的内部寄存器更新之前,从APB1上读出的RTC寄存器数值可能被破坏了(通常读到0)。下述几种情况下能够发生这种情形:

● 发生系统复位或电源复位

● 系统刚从待机模式唤醒。

● 系统刚从停机模式唤醒。

所有以上情况中,APB1接口被禁止时(复位、无时钟或断电)RTC核仍保持运行状态。

因此,若在读取RTC寄存器时,RTC的APB1接口曾经处于禁止状态,则软件首先必须等待RTC_CRL寄存器中的RSF位(寄存器同步标志)被硬件置’1’。

配置RTC寄存器

必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器。

另外,对RTC任何寄存器的写操作,都必须在前一次写操作结束后进行。可以通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新中。仅当RTOFF状态位是’1’时,才可以写入RTC寄存器。

配置过程:

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

2. 置CNF值为1,进入配置模式

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

4. 清除CNF标志位,退出配置模式

5. 查询RTOFF,直至RTOFF位变为’1’以确认写操作已经完成。

仅当CNF标志位被清除时,写操作才能进行,这个过程至少需要3个RTCCLK周期。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 电子日历是一种基于STM32F103和RTC实时时钟部件的电子设备,它可以显示当前日期、时间和天气等信息。它可以帮助人们更方便地了解时间和日期,同时还可以提供一些实用的功能,比如闹钟、倒计时等。电子日历的设计需要考虑到硬件和软件的结合,以及用户界面的友好性和易用性。同时,还需要考虑到电源管理和节能等问题,以确保设备的稳定性和可靠性。 ### 回答2: 随着当代科技的快速发展,我们已经习惯了电子日历。当我们想要了解今天是星期几、几号、有哪些节日时,我们可以轻松地通过电子日历了解这些信息。那么,什么是电子日历呢?它又是如何工作的呢? 电子日历就是利用电子元器件来实现日期和时间显示的设备。它可以通过内置的时钟来自动地显示日期和时间,实现闹钟、倒计时等功能。而stm32f103是一款基于ARM Cortex-M3内核的微控制器,具备高性能、低功耗和可扩展性等优点,因此,它成为了很多电子设备的首选芯片。 与此同时,RTC实时时钟部件是硬件电路中的一种电子部件,它可以根据电源掉电、干扰等情况来保证电子设备的时间准确,实现长时间的时间计算和存储。在电子日历中,RTC实时时钟部件起着非常重要的作用,它的精确定时功能可以保证日历的时间和日期准确无误。 基于stm32f103和RTC实时时钟部件的电子日历除了传统的日期和时间显示功能外,还可以实现一些实用的功能,比如闹钟、温度、湿度、气压等传感器功能。通过传感器和RTC实时时钟部件,可以实现各种功能的联动,比如在特定时间点开启电风扇、自动调节温度、提醒用户下雨天要关窗等等。同时,电子日历也可以实现对数据的存储和读取,例如存储用户喜欢的音乐、记录某些事件发生的时间等等。 总之,基于stm32f103和RTC实时时钟部件的电子日历,可以实现多种实用功能,如闹钟、传感器和数据存储等,为人们提供更加方便的生活方式。未来,我们相信电子日历将会在各个领域得到更广泛的应用。 ### 回答3: 电子日历是一款功能多样、实用性强的电子产品,其主要功能是显示年、月、日、星期和时间,还可以提供闹钟、定时等功能。基于STM32F103和RTC实时时钟部件设计的电子日历,可以准确地保存时间,避免用户手动设置时间带来的误差,同时也可以实现闹钟、定时等多种功能。 STM32F103是一款功能强大、性能稳定、集成度高的32位微控制器,常用于各种嵌入式系统设计中。其具有丰富的模拟和数字外设,可以满足不同应用需求。 RTC实时时钟部件是一种用于精确计时的电子元件,可以使用电池供电,在掉电情况下仍然能够继续计时。通过STM32F103与RTC实时时钟部件的结合,可以实现电子日历的年、月、日、星期和时间的准确显示。同时,由于RTC实时时钟部件具有低功耗的特性,可以有效延长电子日历的使用寿命。 在电子日历的设计中,需要采用合适的显示器件来显示日期和时间信息。这些显示器件可以是液晶显示器、数码管等,具体选择可以根据产品设计的需求来确定。 电子日历设计时,也需要考虑用户体验和易用性。可以加入人机交互界面,通过按钮、旋钮等方式进行用户操作,实现闹钟、定时等功能。同时,还可以提供语音提示、震动反馈等功能,进一步提升用户体验。 总之,基于STM32F103和RTC实时时钟部件设计的电子日历,具有实用性高、功能丰富、使用寿命长等特点,可以广泛应用于生活和工作中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰年稻香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值