打印
[其他]

RTC 初始化与时钟源配置

[复制链接]
149|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大鹏2365|  楼主 | 2025-5-31 20:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RTC 时钟源选择
MM32F3273 的 RTC 模块支持两个时钟源:

低速外部晶振:32.768 kHz,精度高,推荐用于时间保持。

低速内部 RC 振荡器:约 32 kHz,低功耗但精度差。

初始化流程示意(以 LSE 为例):
c
复制
编辑
RCC->APB1ENR |= RCC_APB1ENR_PWREN;        // 使能电源模块
PWR->CR |= PWR_CR_DBP;                    // 允许访问 RTC 和备份寄存器
RCC->BDCR |= RCC_BDCR_LSEON;              // 启动 LSE
while (!(RCC->BDCR & RCC_BDCR_LSERDY));   // 等待 LSE 稳定
RCC->BDCR |= RCC_BDCR_RTCSEL_LSE;         // 选择 LSE 为 RTC 时钟源
RCC->BDCR |= RCC_BDCR_RTCEN;              // 使能 RTC

// 初始化 RTC,设置时分秒、日历等
RTC->WPR = 0xCA; RTC->WPR = 0x53;         // 解锁写保护
RTC->ISR |= RTC_ISR_INIT;                 // 进入初始化模式
while (!(RTC->ISR & RTC_ISR_INITF));      // 等待进入 INIT 模式
// 设置预分频器、时间、日期...
RTC->ISR &= ~RTC_ISR_INIT;                // 退出初始化
RTC->WPR = 0xFF;                          // 恢复写保护

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

688

帖子

0

粉丝