CW32的实时时钟是一个专用的计数器 / 定时器,可提供日历信息,包括小时、分钟、秒、日、月份、年份以及星期。RTC 具有两个独立闹钟,时间、日期可组合设定,可产生闹钟中断,并通过引脚输出;支持时间戳功能,可通过引脚触发,记录当前的日期和时间,同时产生时间戳中断;支持周期中断;支持自动唤醒功能,可产生中断并通过引脚输出;支持 1Hz 方波和 RTCOUT 输出功能;支持内部时钟校准补偿。CW32L083 内置经独立校准的 32kHz 频率的 RC 时钟源,为 RTC 提供驱动时钟,RTC 可在深度休眠模式下运行,适用于要求低功耗的应用场合。
标准的RTC模块初始化过程,应包括以下步骤:
向RTC_KEY寄存器顺序写入0xCA、0x53,解除RTC寄存器锁定;
配置RTC_CR0.H24位域,选择12/24小时制;
配置RTC_CR1.SOURCE位域,选择RTC时钟源;(注:如果选择LSE或LSI,需要先使能和启动LSE或LSI,并等待时钟稳定)
设置正确的时间和日期值,写入时间和日期寄存器;
配置需要的周期中断单元、自动唤醒单元、闹钟A、闹钟B;
配置RTC_IER寄存器,设置周期中断、自动唤醒中断、闹钟A、闹钟B中断;
配置时间戳功能,配置时间戳中断;
RTC_CR0.START位域置1,启动RTC定时器;
向RTC_KEY寄存器顺序写入0xCA、0x--,启动RTC寄存器锁定保护。
用户应用中,对RTC进行初始化时,应先检查MCU的复位状态(SYSCTRL_RESETFLAG)。如果是上电复位(SYSCTRL_RESETFLAG.POR=1),RTC的寄存器会被复位到默认值,需要重新配置RTC寄存器、RTC日期和时间寄存器,并重新启动RTC,其复位条件不会复位RTC的寄存器,RTC持续正常计时。
全部0条评论
快来发表一下你的评论吧 !