STM学习笔记--RTC
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)
STMRT 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)