RM0031 Contents
Doc ID 15226 Rev 10 17/575
24 Real-time clock (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
24.2 RTC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
24.3 RTC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
24.3.1 Clock and prescalers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
24.3.2 Real-time clock and calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
24.3.3 Programmable alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
24.3.4 Periodic auto-wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
24.3.5 RTC initialization and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
24.3.6 Reading the calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
24.3.7 Resetting the RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
24.3.8 RTC synchronization (low, medium+ and high density devices only) . 418
24.3.9 RTC smooth digital calibration (low, medium+ and high
density devices only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
24.3.10 Tamper detection (low, medium+ and high density devices only) . . . . 421
24.3.11 Calibration clock output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
24.3.12 Alarm output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
24.4 RTC low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
24.5 RTC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
24.6 RTC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
24.6.1 Time register 1 (RTC_TR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
24.6.2 Time register 2 (RTC_TR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
24.6.3 Time register 3 (RTC_TR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
24.6.4 Date register 1 (RTC_DR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
24.6.5 Date register 2 (RTC_DR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
24.6.6 Date register 3 (RTC_DR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
24.6.7 Subsecond register high (RTC_SSRH) . . . . . . . . . . . . . . . . . . . . . . . . 425
24.6.8 Subsecond register low (RTC_SSRL) . . . . . . . . . . . . . . . . . . . . . . . . . 426
24.6.9 Control register 1 (RTC_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
24.6.10 Control register 2 (RTC_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
24.6.11 Control register 3 (RTC_CR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
24.6.12 Initialization and status register 1 (RTC_ISR1) . . . . . . . . . . . . . . . . . . 429
24.6.13 Initialization and status register 2 (RTC_ISR2) . . . . . . . . . . . . . . . . . . 430
24.6.14 Synchronous prescaler register high (RTC_SPRERH) . . . . . . . . . . . . 431
24.6.15 Synchronous prescaler register low (RTC_SPRERL) . . . . . . . . . . . . . 432
24.6.16 Asynchronous prescaler register (RTC_APRER) . . . . . . . . . . . . . . . . 432