Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
stm32:peripherals:rtc_wakeup [2016/11/07 10:20] feurstm32:peripherals:rtc_wakeup [2021/09/06 07:29] frtt
Line 1: Line 1:
 ====== Wake Up Timer ====== ====== Wake Up Timer ======
  
-The wakeup timer is a programmable 16 bit down-counter. \\+The wakeup timer is a programmable 16 bit auto-reload down-counter. \\
 The wakeup timer range can be extended to 17 bits. \\ The wakeup timer range can be extended to 17 bits. \\
  
 \\ {{rtc_timer.svg?700em}} \\ \\ \\ {{rtc_timer.svg?700em}} \\ \\
  
 +The wakeup timer can be used to generate a periodic interrupt through the wakeup timer flag (WUTF). Additionally the WUTF flag can be output (through signals WKUP, RTC_ALARM and on to RTC_AF1) to pin PC13.
 +
 +The wakeup timer clock input can be
 +  * RTCCLK (usually 32.768 kHz) divided by 2, 4, 8 or 16. \\ As a result this allows wakeup interrupt periods from 122 us to 32 s, with a resolution down to 61 us.
 +  * ck_spre (usually 1 Hz internal clock). \\ As a result this allows wakeup interrupt periods from 1 s to around 36 hours.
 ===== Programming Instructions ===== ===== Programming Instructions =====
  
 ==== RTC register write protection ==== ==== RTC register write protection ====
  
-After a reset the backup domain is write protected. \\+After a reset the backup domain is write protected. The backup domain encompasses: RTC, LSE oscillator, backup SRAM, I/O pins PC13 to PC15 and PI8. The backup domain is powered through VBAT even if VDD is turned off.\\
 Unlock access to backup domain: Unlock access to backup domain:
   * Set the ''DBP'' bit (disable backup protection) in ''PWR->CR''.   * Set the ''DBP'' bit (disable backup protection) in ''PWR->CR''.
Line 32: Line 37:
   * Disable wakeup timer in ''RTC->CR''.   * Disable wakeup timer in ''RTC->CR''.
   * Wait until configuration of RTC is allowed. \\ Check corresponding bit in ''RTC->ISR''.   * Wait until configuration of RTC is allowed. \\ Check corresponding bit in ''RTC->ISR''.
-  * Program reload value in ''RTC->WUTR''. 
   * Program prescaler value in ''RTC->CR''.   * Program prescaler value in ''RTC->CR''.
 +  * Program reload value in ''RTC->WUTR''.
   * Enable wakeup interrupt in ''RTC->CR''.   * Enable wakeup interrupt in ''RTC->CR''.
  
Line 51: Line 56:
 ===== Configuration Registers ===== ===== Configuration Registers =====
  
-==== CR ====+==== RTC_CR ====
  
 Configuration register Configuration register
Line 67: Line 72:
 |:::|1|Wake up timer interrupt enabled|| |:::|1|Wake up timer interrupt enabled||
  
-==== WUTR ====+==== RTC_WUTR ====
  
 Wakeup timer register Wakeup timer register
Line 76: Line 81:
 ===== Status Registers ===== ===== Status Registers =====
  
-==== ISR ====+==== RTC_ISR ====
  
 Initialization and status register Initialization and status register
Line 85: Line 90:
 |WUTWF*|0|Wake up timer configuration not allowed| |WUTWF*|0|Wake up timer configuration not allowed|
 |:::|1|Wake up timer configuration allowed| |:::|1|Wake up timer configuration allowed|
 +|WUTF||Wake up timer flag is set by hardware when wakeup counter reaches 0 and cleared by software by writing 0.||
 * This bit is set, after the WUTE bit (control register) has been set to 0, and reset by hardware. * This bit is set, after the WUTE bit (control register) has been set to 0, and reset by hardware.
 +
 +===== Back domain control register =====
 +
 +==== RCC_BDCR ====
 +Back domain control register
 +
 +\\ {{rcc_reg_bdcr.svg}} \\ \\ 
 +
 +|< 100% 5em 5em >|
 +|RTCEN*|0|RTC clock disabled|
 +|:::|1|RTC clock enabled|
 +|RTCSEL|00|No clock|
 +|:::|01|LSE oscillator clock used as the RTC clock|
 +|:::|10|LSI oscillator clock used as the RTC clock|
 +|:::|11|HSE oscillator clock divided by a programmable prescaler(selection Through RTCPRE[4:0] bits in the RCC clock configuration register (RCC_CFGR)) used as the RTC clock|
 +
  • stm32/peripherals/rtc_wakeup.txt
  • Last modified: 2022/12/27 18:42
  • by ruan