首页 > 应用 > 单片机应用
[导读]RTC: Real time clock 相比较而言,STM32F407的RTC比STM32F1的更加容易配置。当然,F4的资源相对也就更加丰富很多了。具体的资源可查看官方参考手册,通过下面的图表也可以了解其大致功能 1、开始的时候对于 ALRAM A

RTC: Real time clock

本文引用地址: http://www.21ic.com/app/mcu/201812/781358.htm

相比较而言,STM32F407的RTC比STM32F1的更加容易配置。当然,F4的资源相对也就更加丰富很多了。具体的资源可查看官方参考手册,通过下面的图表也可以了解其大致功能




1、开始的时候对于 ALRAM A/B的功能没有怎么理解,后面再来看时发现其很简单,举个简单的例子,就比如,定的闹钟,当然,这个也是可以实现闹钟的功能。只是通过这个简单的例子来说明,ALARM A/B的用途或者功能吧

2、自动唤醒与时间戳及时间篡改事件,与1的差不多,细细体会就知道

3、RTC_AFO 与 RTC_AFI 就是对外输出及检测外部时间事件

4、 RTC的时钟源一般情况下,是使用LSE ,通过适当的分频产生一个1HZ的时钟,分频中有2个关键点,就是 异步分频因子(7bit)和同步分频因子(15bit),两者配置会影响功耗,官方建议配置异步分频因子为较高值,以减少功耗,这里采用最大值配置方式:SynchPrediv = 0xFF; AsynchPrediv = 0x7F;这样时钟就配置OK了


5、下面看一下RTC的初始化和配置,个人认为只要这里搞懂了,RTC也就懂了,至于自动唤醒、ALARM等都是很容易配置,更何况ST库函数已经写好了,直接调用相关函数就可。

1) 首先要知道 RTC的寄存器是具有写保护功能的,因此在每次对其进行写操作前,就要先退出写保护,这里很直白的告诉我们,就是依照这个顺序操作,分别对RTC_WPR 写入 0xCA 和 0x53 就可解除写保护,注意顺序不可变。其下,还有一句话,写一个错键重新激活写保护,就是随便写一个与上面2个不同的,就可再次激活写保护功能


6、 对于具体如何设置具体值就不讲了,官方库中 RTC_SetTime() /RTC_SetDate() 等函数可以很容易的实现。

7、最后将一下 RTC的备份寄存器 ,备份寄存器的作用顾名思义就是备份,其总共有20个相关寄存器,举一个简单的例子就可以明白其作用,比如我们要初始化设置RTC的相关值,第一次的时候我设置了一次,当我复位MCU,RTC还在正常运行,我并不需要重新设置RTC,这时候,我们可以在要设置RTC的时候,添加一个判断条件,就是如果我选择的备份寄存器中填入一个值,如果我独到的值和我要写的值一致,我就不重新设置RTC,如果不一致我就重新设置。当然这个值是随意设置的。

如官方例程: if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0x32F2) //判读读到的值是否与设置的一致

。。。。

RTC_WriteBackupRegister(RTC_BKP_DR0, 0x32F2); //设置完成后,给备份寄存器写入一个值

8、至此,介绍就结束了,主要还是看参考手册,当然,官方的库已经给大家省去了很多功能,但是从寄存器层面去了解如何操作的也是相当的必要。


换一批

延伸阅读

[单片机应用] C8051F340 外接 FM24C04 时的端口配置问题

C8051F340 外接 FM24C04 时的端口配置问题

原来是想利用单片机自带的 SMBus 端口, 但是官方自带的例程用了好几个定时器,而我的这个小项目也需要很多定时器资源, 不够用了. 擦.........所以干脆用 IO 口模拟I2C 时序来操作 FM24C04 得了, 项目对时间要求也不......

关键字:C8051F340 FM24C04 端口配置

[单片机应用] 纠结的STM32 RTC时钟源LSE

纠结的STM32 RTC时钟源LSE

一开始,所有实验都是在神舟板上去完成,根本就没有发现RTC的问题。直到我们自己画板来后调试时,才发现STM32 RTC的外部时钟源存在问题。这也算是STM32的一个鸡肋,对于LSE外部晶振太过于苛刻,手册上要求使用6pf,这......

关键字:STM32 RTC 时钟源 LSE

[单片机应用] STM32之CAN---配置波特率

STM32之CAN---配置波特率

1 位时间特性为了掌握如何设置STM32 CAN的波特率,首先我们得先了解一下位时间特性。位时间特性逻辑通过采样来监视串行的CAN总线,并且通过跟帧起始位的边沿进行同步,及通过跟后面的边沿进行重新同步,来调整其采样......

关键字:STM32 CAN 配置波特率

[单片机应用] STM32 DMA模块的配置与使用

STM32 DMA模块的配置与使用

DMA有什么用?直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。有多少个DMA资源?有两个DMA控制器,......

关键字:STM32 DMA模块 配置与使用

[单片机应用] 关于STM32使用RTC唤醒停止模式的设置

关于STM32使用RTC唤醒停止模式的设置

工程中用到低功耗的控制,本来想使用待机模式,后来发现待机后所有IO口为高阻态,这样对于一些IO口控制的外设有些不妥,想过外部上拉一个电阻可是功耗不好控制放弃该方案选用停止模式。停止模式后IO口保持停止前的状......

关键字:STM32 RTC唤醒 停止模式

我 要 评 论

网友评论

芯闻号

技术子站

更多

项目外包

更多

推荐博客