STM32的RTC(实时时钟)模块是一个独立的定时器,具有连续计数的计数器,可以提供时钟日历功能。RTC模块的寄存器地址和功能如下:
1. RTC_CRH 和 RTC_CRL:控制寄存器高和低字节,用于设置RTC的工作模式,如24小时或12小时格式,以及AM/PM指示。
2. RTC_PRLH 和 RTC_PRLL:预分频器寄存器高和低字节,用于设置预分频系数,影响RTC时钟的频率。
3. RTC_DIVH 和 RTC_DIVL:分频器寄存器高和低字节,显示当前的预分频值。
4. RTC_CNTH 和 RTC_CNTL:计数器寄存器高和低字节,存储当前的秒计数。
5. RTC_ALRMH 和 RTC_ALRML:报警寄存器高和低字节,用于设置报警时间。
6. RTC_CSH 和 RTC_CSL:校准寄存器高和低字节,用于校准RTC的精度。
RTC模块的访问需要通过特定的步骤来使能,包括设置RCC_APB1ENR寄存器的PWREN和BKPEN位来打开电源和后备接口的时钟,以及设置PWR_CR寄存器的DBP位来使能对后备寄存器和RTC的访问。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。系统复位后,对后备寄存器和RTC的访问被禁止,以防止对后备区域(BKP)的意外写操作。
以上信息基于网络搜索结果,具体的寄存器地址和功能可能会根据不同STM32型号有所变化,建议查阅具体型号的参考手册以获取详细信息。