一、RTC 是什么?先建立直觉RTC 全称Real-Time Clock,实时时钟。它的唯一使命:在芯片断电之后,继续计时,不丢失时间。为什么需要 RTC?普通定时器(TIM)不行吗?普通定时器(TIM1、TIM2...): 依赖主电源(VDD,3.3V) 单片机一断电,所有计数器全部清零 适合:PWM、测量脉宽、产生中断…… RTC 实时时钟: 有专属的备用电源引脚(VBAT) 接一颗纽扣电池(CR2032):主电源断了,RTC 照常跑 适合:记录当前时间、唤醒定时、日志时间戳…… 一个实际场景: 电子秤断电后再开机,时间还是对的 → RTC 做的 文件系统保存"创建时间" → RTC 提供时间戳 定时在凌晨3点唤醒MCU采集数据 → RTC 闹钟做的STM32F103 RTC 的核心特点1. 独立时钟域:RTC 有自己的时钟源,和主系统时钟分开 2. 备用电源域:只要 VBAT 引脚有电(纽扣电池),RTC 就不停 3. 32位计数器:本质上就是一个从 0 开始一直加的计数器 最大值 = 0xFFFFFFFF ≈ 136 年不溢出 4. 秒中断:每秒产生一次中断,可以在中断里更新显示 5. 闹钟中断:计数器 == 设定值时触发,精确到秒 6. 时钟源三选一:外部低速晶振 LSE(32.768 kHz)推荐 内部低速 RC LSI(约 40 kHz,不精准)