STM32F407 RTC 配置理解与总结
RTC: Real time clock
相比较而言,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、至此,介绍就结束了,主要还是看参考手册,当然,官方的库已经给大家省去了很多功能,但是从寄存器层面去了解如何操作的也是相当的必要。
STM32F407 RTC 配置理解与总结相关推荐
- druid 配置理解及监控界面参数理解
druid 配置理解 官方文档中的很多配置,不是太理解或者貌似理解了,自己不实践一下,心里也不踏实,所以决定自己搞一个demo测试一下理解理解各个配置到底是什么意思 一,druidDataSource ...
- LMK04828时钟芯片配置——配置理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LMK04828时钟芯片配置--配置理解 配置 PLL1 PLL2 SYNC/SYSREF 总结 配置 开发板例程的SPI指令可以im ...
- STM32 HAL RTC配置及优化
STM32 HAL RTC配置及优化 STM32内部的RTC实时时钟模块,可以配置实现日历和时间的运转,并在外部备用电池的辅助下,可以在主电源关闭的情况下保持运行,且RTC备份寄存器也可以在电池供电状 ...
- RT-Thread ——RTC配置
RT-Thread --RTC配置 STM32F103系列芯片的RTC功能存在一些缺陷. 一.显示时间戳 RTC(Real-Time Clock)译为实时时钟,因为它一般是集成电路,故也称为时钟芯片. ...
- c2000 汇编语言指令,C2000系CMD文件的配置理解
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册 x 推荐CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件,其中比 ...
- SpringBoot约定大于配置理解
约定大于配置是一种开发原则,就是减少人为的配置,直接用默认的配置就能获得我们想要的结果. SpringBoot的约定大于配置,按我的理解是:对比SpringMVC,需要在web.xml里面配置前端控制 ...
- 关于STM32F407 PWM的理解
最近回头学习STM32F407单片机,以此文做为学习记录.若有哪位小伙伴有不同见解的,可以互相交流. 一.TIMx时钟不清楚如何计算 这里不得不提到STM32F407系列的时钟树,以及对应时钟树各参数 ...
- 代码编辑器CodeMirror使用总结-配置理解说明
本文的选项是根据官网的配置环境进行的理解,有些选项没有使用到和没有理解的就没做说明,有理解不对的欢迎指出来,对没有说明的也欢迎用过的友友给出自己的理解 常用选项配置 value 编辑器的初始值 - [ ...
- HDFS HA介绍及配置理解
1.HDFS HA介绍 相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA和Federaion.HA即为High Availability,用于解决NameNode单点 ...
最新文章
- 派生类构造函数和析构函数的执行顺序
- tcga数据下载_好东西丨零基础入门TCGA
- [Linux] undefined reference to `itoa'
- db设计专用excel_独家|自卸车如何实现侧板结构快速设计,减少重复工作?
- Stream操作Collection集合
- Java实训项目3:GUI学生信息管理系统 - 涉及知识点
- 从RCNN到SSD,深度学习目标检测算法盘点
- python简单的爬取网页上的图片
- C++查漏补缺之浮点数内存表示
- multism中ui和uo应该怎么表示_第310 这四个常考英语单词,到底表示时间还是地点?...
- 将强化学习应用到量化投资中实战篇(学习模块开发上)
- 把汇总报表页面生成 pdf文件方案!
- 吃透MIPI接口,你必须了解它这三种PHY规范的区别
- XP与Win7默认下时间分隔符不同
- 百度之星 大搬家 递推
- 微信支付密码设置html,微信支付页面怎么加密码锁屏(微信支付界面怎么上锁)...
- 【Oracle】6.JDBC
- 【53期】面试官:谈一下数据库分库分表之后,你是如何解决事务问题?
- Python 决策树的建树、剪枝与优化
- rapidcsv 写csv文件实例