微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM学习笔记--RTC

STM学习笔记--RTC

时间:11-18 来源:互联网 点击:
对于STMRTC部分

1:首先明白其时钟来源,时钟源于3个部分,HSE/28;LSE(32.768KHz);LSI(40KHz);时钟经过可编程分频器(20bits)RTC_PRLH/RTC_PRLLRTC_divH/RTC_divL,产生最长时间1S的RTC时间基准TR_CLK,可产生秒中断。TR_CLK周期累加(RTC_CNT计数)并与RTC_ALR(32bits)寄存器比较,若相等则可产生闹钟中断。若RTC_CNT计数溢出,也会产生溢出中断。对RTC的操作,是通过APB1接口,其APB1接口是由APB1总线时钟驱动(P1CLK),用来与APB1总线接口的。

注:预产生中断,必须使能相应的中断位。RTC_CRH(OWIE,ALRIE,SECIE)

2:2个独立的复位类型。

(1):APB1接口由系统复位

(2):RTC核心(分频器,闹钟,计数器)由后备域复位

备份区域有两个专门的复位,只影响备份区域。

复位条件:软件复位,由备份区域控制寄存器(RCC_BDCR)中的BDRST

硬件复位,VDD,及VBAT两者掉电前提下,VDD或者VBAT上电引发复位。

3:3个专门可屏蔽中断

(1)秒中断,最长时间为1S。Ftc_clk=Frtc_clk/(PRL[19:0]+1)

(2)溢出中断,指示内部可编程计数器溢出并到0的状态。

(3)闹钟中断,软件可编程的闹钟中断。

配置RTC寄存器

首先必须等到RTC_OFF为1,表示上一次写RTC寄存器完成;其次将RTC_CRL寄存器中的CNF位置1,表示进入寄存器配置模式。

配置步骤:

1:查询RTC_OFF是否为1,直到RTC_OFF为1。(RTC_OFF为只读位)

2:置CNF位为1,进入配置模式

3:对RTC寄存器进行写/修改操作

4:清除CNF位,退出配置模式

5:查询RTC_OFF标志,直至RTC_OFF为1时表示写入完成。

RTC的标志设置

RTC预分频器余数寄存器(RTC_divH/RTC_divL)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top