您的位置 首页 国产IC

STM32学习之路(五)——RTC体系时钟

在STM32的CPU有一个RTC引脚,用于连接电池。当系统掉电后,自动由电池给RTC供电,完成时间计数。对RTC的访问是通过APB1接口进行…

STM32的CPU有一个RTC引脚,用于衔接电池。当体系掉电后,主动由电池给RTC供电,完结时刻计数。
对RTC的拜访是经过APB1接口进行的。APB1刚被敞开的时分,从APB1读来的RTC寄存器的第一个值可能是被破坏了的。因此在程序中,先等候RTC_CRL寄存器中的RSF位被硬件置1,然后才开端读操作。关于写操作,在每一次写操作有必要确保前一次写操作完结,即经过查询RTC_CR寄存器中的RTOFF状况位,判别RTC寄存器是否处于更新状况中。只要当RTOFF状况位是1,才能够写RTC寄存器。
RTC模块的寄存器实际上只要5个:操控寄存器RTC_CR,预分频装在寄存器RTC_PRL,预分频余数寄存器RTC_DIV,计数器寄存器RTC_CNT,闹钟寄存器RTC_ALR。
第一次装备需求做的作业包含:
1.翻开电源办理和备份寄存器时钟。留意一定要翻开备份寄存器时钟。正是经过备份寄存器写固定的数据来判别芯片是否是第一次运用RTC,从而在体系运行时提示装备时钟。
2.使能RTC和备份寄存器的拜访(复位默许是封闭的)。
3.挑选外部低速晶体为RTC时钟,并使能时钟。
4.使能秒中止。程序里在秒中止里置位标志位来告诉主程序显现时刻数据,一起在32位计数器到23:59:59时清零。
5.设置RTC预分频器,发生1秒信号计算公式。FTR_CLK=FRTCCLK/(PRL+1)设置32767发生秒信号。
经过RTC_GetConter();获取计数值,然后把这个计数值分别用小时、分钟、秒来表明,最终还需求调用Printf函数把它显现在超级终端窗口或相应的其它显现函数。

效果图见http://v.youku.com/v_show/id_XNTk5MTM4MjY4.html,比较有意思的一段小视频。要点看后面的时刻是按秒更新的。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部