libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
Defined Constants and Types for the STM32F1xx Real Time Clock More...
Macros | |
#define | RTC_CRH MMIO32(RTC_BASE + 0x00) |
#define | RTC_CRL MMIO32(RTC_BASE + 0x04) |
#define | RTC_PRLH MMIO32(RTC_BASE + 0x08) |
#define | RTC_PRLL MMIO32(RTC_BASE + 0x0c) |
#define | RTC_DIVH MMIO32(RTC_BASE + 0x10) |
#define | RTC_DIVL MMIO32(RTC_BASE + 0x14) |
#define | RTC_CNTH MMIO32(RTC_BASE + 0x18) |
#define | RTC_CNTL MMIO32(RTC_BASE + 0x1c) |
#define | RTC_ALRH MMIO32(RTC_BASE + 0x20) |
#define | RTC_ALRL MMIO32(RTC_BASE + 0x24) |
#define | RTC_CRH_OWIE (1 << 2) |
#define | RTC_CRH_ALRIE (1 << 1) |
#define | RTC_CRH_SECIE (1 << 0) |
#define | RTC_CRL_RTOFF (1 << 5) |
#define | RTC_CRL_CNF (1 << 4) |
#define | RTC_CRL_RSF (1 << 3) |
#define | RTC_CRL_OWF (1 << 2) |
#define | RTC_CRL_ALRF (1 << 1) |
#define | RTC_CRL_SECF (1 << 0) |
Enumerations | |
enum | rtcflag_t { RTC_SEC , RTC_ALR , RTC_OW } |
RTC Interrupt Flags. More... | |
Functions | |
void | rtc_awake_from_off (enum rcc_osc clock_source) |
RTC Set Operational from the Off state. More... | |
void | rtc_enter_config_mode (void) |
RTC Enter Configuration Mode. More... | |
void | rtc_exit_config_mode (void) |
RTC Leave Configuration Mode. More... | |
void | rtc_set_alarm_time (uint32_t alarm_time) |
RTC Set the Alarm Time. More... | |
void | rtc_enable_alarm (void) |
RTC Enable the Alarm. More... | |
void | rtc_disable_alarm (void) |
RTC Disable the Alarm. More... | |
void | rtc_set_prescale_val (uint32_t prescale_val) |
RTC Set the prescaler Value. More... | |
uint32_t | rtc_get_counter_val (void) |
RTC return the Counter Value. More... | |
uint32_t | rtc_get_prescale_div_val (void) |
RTC return the prescaler Value. More... | |
uint32_t | rtc_get_alarm_val (void) |
RTC return the Alarm Value. More... | |
void | rtc_set_counter_val (uint32_t counter_val) |
RTC set the Counter. More... | |
void | rtc_interrupt_enable (rtcflag_t flag_val) |
RTC Enable Interrupt. More... | |
void | rtc_interrupt_disable (rtcflag_t flag_val) |
RTC Disable Interrupt. More... | |
void | rtc_clear_flag (rtcflag_t flag_val) |
RTC Clear an Interrupt Flag. More... | |
uint32_t | rtc_check_flag (rtcflag_t flag_val) |
RTC Return a Flag Setting. More... | |
void | rtc_awake_from_standby (void) |
RTC Start RTC after Standby Mode. More... | |
void | rtc_auto_awake (enum rcc_osc clock_source, uint32_t prescale_val) |
RTC Configuration on Wakeup. More... | |
Defined Constants and Types for the STM32F1xx Real Time Clock
LGPL License Terms libopencm3 License
enum rtcflag_t |
void rtc_auto_awake | ( | enum rcc_osc | clock_source, |
uint32_t | prescale_val | ||
) |
RTC Configuration on Wakeup.
Enable the backup domain clocks and write access to the backup domain. If the RTC has not been enabled, set the clock source and prescaler value. The parameters are not used if the RTC has already been enabled.
[in] | clock_source | rcc_osc. RTC clock source. Only HSE, LSE and LSI are permitted. |
[in] | prescale_val | uint32_t. 20 bit prescale divider. |
Definition at line 400 of file rtc.c.
References RCC_BKP, rcc_periph_clock_enable(), RCC_PWR, rcc_rtc_clock_enabled_flag(), rtc_awake_from_off(), rtc_awake_from_standby(), and rtc_set_prescale_val().
void rtc_awake_from_off | ( | enum rcc_osc | clock_source | ) |
RTC Set Operational from the Off state.
Power up the backup domain clocks, enable write access to the backup domain, select the clock source, clear the RTC registers and enable the RTC.
[in] | clock_source | rcc_osc. RTC clock source. Only the values HSE, LSE and LSI are permitted. |
Definition at line 85 of file rtc.c.
References pwr_disable_backup_domain_write_protect(), RCC_BKP, rcc_enable_rtc_clock(), rcc_periph_clock_enable(), RCC_PWR, rcc_set_rtc_clock_source(), RTC_ALRH, RTC_ALRL, RTC_CNTH, RTC_CNTL, RTC_CRH, RTC_CRL, RTC_CRL_RSF, rtc_enter_config_mode(), rtc_exit_config_mode(), RTC_PRLH, and RTC_PRLL.
Referenced by rtc_auto_awake().
void rtc_awake_from_standby | ( | void | ) |
RTC Start RTC after Standby Mode.
Enable the backup domain clocks, enable write access to the backup domain and the RTC, and synchronise the RTC register access.
Definition at line 368 of file rtc.c.
References pwr_disable_backup_domain_write_protect(), RCC_BKP, rcc_periph_clock_enable(), RCC_PWR, RTC_CRL, RTC_CRL_RSF, and RTC_CRL_RTOFF.
Referenced by rtc_auto_awake().
uint32_t rtc_check_flag | ( | rtcflag_t | flag_val | ) |
RTC Return a Flag Setting.
[in] | flag_val | rtcflag_t: The flag to check. |
Definition at line 338 of file rtc.c.
References RTC_ALR, RTC_CRL, RTC_CRL_ALRF, RTC_CRL_OWF, RTC_CRL_SECF, RTC_OW, and RTC_SEC.
void rtc_clear_flag | ( | rtcflag_t | flag_val | ) |
void rtc_disable_alarm | ( | void | ) |
RTC Disable the Alarm.
Definition at line 187 of file rtc.c.
References RTC_CRH, rtc_enter_config_mode(), and rtc_exit_config_mode().
void rtc_enable_alarm | ( | void | ) |
RTC Enable the Alarm.
Definition at line 175 of file rtc.c.
References RTC_CRH, RTC_CRH_ALRIE, rtc_enter_config_mode(), and rtc_exit_config_mode().
void rtc_enter_config_mode | ( | void | ) |
RTC Enter Configuration Mode.
Prime the RTC for configuration changes by giving access to the prescaler, and counter and alarm registers.
Definition at line 128 of file rtc.c.
References RTC_CRL, RTC_CRL_CNF, and RTC_CRL_RTOFF.
Referenced by rtc_awake_from_off(), rtc_disable_alarm(), rtc_enable_alarm(), rtc_interrupt_disable(), rtc_interrupt_enable(), rtc_set_alarm_time(), rtc_set_counter_val(), and rtc_set_prescale_val().
void rtc_exit_config_mode | ( | void | ) |
RTC Leave Configuration Mode.
Revert the RTC to operational state.
Definition at line 145 of file rtc.c.
References RTC_CRL, and RTC_CRL_RTOFF.
Referenced by rtc_awake_from_off(), rtc_disable_alarm(), rtc_enable_alarm(), rtc_interrupt_disable(), rtc_interrupt_enable(), rtc_set_alarm_time(), rtc_set_counter_val(), and rtc_set_prescale_val().
uint32_t rtc_get_alarm_val | ( | void | ) |
uint32_t rtc_get_counter_val | ( | void | ) |
uint32_t rtc_get_prescale_div_val | ( | void | ) |
void rtc_interrupt_disable | ( | rtcflag_t | flag_val | ) |
RTC Disable Interrupt.
[in] | flag_val | rtcflag_t: The flag to disable. |
Definition at line 287 of file rtc.c.
References RTC_ALR, RTC_CRH, rtc_enter_config_mode(), rtc_exit_config_mode(), RTC_OW, and RTC_SEC.
void rtc_interrupt_enable | ( | rtcflag_t | flag_val | ) |
RTC Enable Interrupt.
[in] | flag_val | rtcflag_t: The flag to enable. |
Definition at line 261 of file rtc.c.
References RTC_ALR, RTC_CRH, RTC_CRH_ALRIE, RTC_CRH_OWIE, RTC_CRH_SECIE, rtc_enter_config_mode(), rtc_exit_config_mode(), RTC_OW, and RTC_SEC.
void rtc_set_alarm_time | ( | uint32_t | alarm_time | ) |
RTC Set the Alarm Time.
[in] | alarm_time | uint32_t. time at which the alarm event is triggered. |
Definition at line 162 of file rtc.c.
References RTC_ALRH, RTC_ALRL, rtc_enter_config_mode(), and rtc_exit_config_mode().
void rtc_set_counter_val | ( | uint32_t | counter_val | ) |
RTC set the Counter.
[in] | counter_val | 32 bit time setting for the counter. |
Definition at line 247 of file rtc.c.
References RTC_CNTH, RTC_CNTL, rtc_enter_config_mode(), and rtc_exit_config_mode().
void rtc_set_prescale_val | ( | uint32_t | prescale_val | ) |
RTC Set the prescaler Value.
[in] | prescale_val | uint32_t. 20 bit prescale divider. |
Definition at line 200 of file rtc.c.
References rtc_enter_config_mode(), rtc_exit_config_mode(), RTC_PRLH, and RTC_PRLL.
Referenced by rtc_auto_awake().