为什么RTC没有控制寄存器来使能和失能RTC,这样的话如何确定开启还是关闭状态呢,个人猜测是一直是通电状态,一旦给与一个时钟源就会开始工作?
关于#stm32#的问题:为什么RTC没有控制寄存器来使能和失能RTC,这样的话如何确定开启还是关闭状态呢,个人猜测是一直是通电状态,一旦给与一个时钟源就会开始工作
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- zmy1127 2023-02-20 13:39关注
在STM32系列的芯片中,RTC模块的使能是由两个不同的寄存器来控制的。一个是RTC域控制寄存器(RCC_BDCR),另一个是RTC配置寄存器(RTC_CR)。其中,RCC_BDCR寄存器的BDRST位用于使能或失能RTC域,该位为0时RTC域被使能,为1时RTC域被失能。而RTC_CR寄存器的WUTE位用于使能或失能RTC时钟,该位为0时RTC时钟被失能,为1时RTC时钟被使能。
在STM32的电源管理模块(PWR)中,也有一个控制RTC域的寄存器(PWR_CR),其中DBP位用于控制RTC域的使能和失能。该位为1时RTC域被使能,为0时RTC域被失能。当该位被置为0时,RTC域的所有寄存器都将无法访问。因此,如果需要关闭RTC域,可以将该位置为0,然后再将RTC_CR中的WUTE位清零。
需要注意的是,一旦RTC域被使能,RTC时钟就会一直运行,无论是否给它提供时钟源。因此,为了节省电力,可以在不需要RTC时关闭RTC域。而在需要使用RTC时,则需要先使能RTC域,并设置好RTC时钟源,然后再使能RTC时钟。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 三分类机器学习模型可视化分析
- ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
- ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
- ¥30 python,LLM 文本提炼
- ¥15 关于将inet引入的相关问题
- ¥15 关于一个倒计时的操作和显示设计
- ¥15 提问STK的问题,哪位航天领域的同学会啊
- ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
- ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
- ¥15 关于#java#的问题,请各位专家解答!