21 #ifndef ARCH_RTC_HPP_INCLUDED 22 #define ARCH_RTC_HPP_INCLUDED 31 template< freq_t rtcclk_freq = khz(0x8000) >
35 static void enter_config_mode(
void) {
39 static void exit_config_mode(
void) {
43 static void wait_config_done(
void) {
106 template< freq_t tr_clk_freq >
108 static constexpr
unsigned prescaler_value = (rtcclk_freq / tr_clk_freq) - 1;
133 template< freq_t tr_clk_freq = hz(1) >
148 set_time_base<tr_clk_freq>();
154 #endif // ARCH_RTC_HPP_INCLUDED static __always_inline void set(void)
static void enable_second_interrupt(void)
Definition: rtc.hpp:64
static void clear_overflow_flag(void)
Definition: rtc.hpp:78
static void clear_alarm_flag(void)
Definition: rtc.hpp:81
irq_channel< 3 > rtc
RTC global Interrupt.
Definition: nvic.hpp:31
static void backup_domain_software_reset(void)
Definition: rcc.hpp:74
static __always_inline bool test(void)
static void init(void)
Initialize RTC to run on on LSE clock, with given time base.
Definition: rtc.hpp:134
static void enable_alarm_interrupt(void)
Definition: rtc.hpp:61
regval< RCC::BDCR::LSEON, 1 > lse_enable
Enable external low speed oscillator.
Definition: rcc.hpp:52
static void disable_backup_domain_write_protection(void)
Definition: pwr.hpp:32
static void enable_overflow_interrupt(void)
Definition: rtc.hpp:58
static void clear_second_flag(void)
Definition: rtc.hpp:84
typelist< RCC::APB1ENR::PWREN, RCC::APB1ENR::BKPEN > rcc_rtc_clock_resources
Definition: rcc.hpp:228
static void set_time_base(void)
Definition: rtc.hpp:107
static void disable_alarm_interrupt(void)
Definition: rtc.hpp:71
static __always_inline Tp load(void)
static void disable_overflow_interrupt(void)
Definition: rtc.hpp:68
static uint32_t get_divider(void)
Definition: rtc.hpp:119
static void set_counter(uint32_t value)
Definition: rtc.hpp:92
static void wait_lse_ready(void)
Definition: rcc.hpp:89
rcc_rtc_clock_resources resources
Definition: rtc.hpp:126
static uint32_t get_counter(void)
Definition: rtc.hpp:88
RCC::BDCR::RTCSEL::LSE lse
Definition: rcc.hpp:59
static __always_inline void store(Tp const value)
static __always_inline void clear(void)
static void wait_sync(void)
Definition: rtc.hpp:52
static void set_prescaler(uint32_t value)
Definition: rtc.hpp:99
static void set_alarm(uint32_t value)
Definition: rtc.hpp:112
static void disable_second_interrupt(void)
Definition: rtc.hpp:74
irq_channel< 41 > rtc_alarm
RTC Alarm through EXTI Line Interrupt.
Definition: nvic.hpp:265