MCU中的RTC(Real-Time Clock,实时时钟)是什么?
在MCU(微控制器单元)中,RTC(Real-Time Clock,实时时钟) 是一个独立计时模块,用于在系统断电或低功耗状态下持续记录时间和日期。以下是关于RTC的详细说明:
1. RTC的核心功能
- 精准计时:提供年、月、日、时、分、秒、星期等时间信息。
- 低功耗运行:通常由备用电源(如纽扣电池)供电,主系统断电时仍可工作。
- 闹钟与唤醒:可设置定时中断,用于唤醒MCU或触发事件(如定时采集数据)。
2. RTC的硬件组成
组件 | 作用 |
---|---|
时钟源 | 32.768kHz晶振(频率易分频为1Hz信号)或内部RC振荡器(精度较低)。 |
备用电池 | 纽扣电池(如CR2032)或超级电容,在主电源断开时维持RTC运行。 |
计时寄存器 | 存储时间/日期的计数器(如BCD格式)。 |
闹钟寄存器 | 存储预设的触发时间,匹配时产生中断。 |
3. RTC的典型应用场景
- 数据日志记录:为传感器数据添加时间戳。
- 定时开关机:物联网设备按计划启停。
- 电子日历:显示实时日期和时间(如智能手表)。
- 低功耗系统:休眠模式下仅RTC运行,定时唤醒MCU。
4. RTC的使用示例(以STM32 HAL库为例)
(1) 初始化RTC并设置时间
#include "stm32f1xx_hal.h"RTC_HandleTypeDef hrtc;void RTC_Init() {hrtc.Instance = RTC;hrtc.Init.AsynchPrediv =