From 93fe67908a80ca532c7d895028cc89842a1a05e4 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Mon, 10 May 2010 00:40:42 +0200 Subject: Add more RTC functions and an RTC example. Thanks Lord James for the patch! --- include/libopenstm32/rcc.h | 1 + include/libopenstm32/rtc.h | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'include/libopenstm32') diff --git a/include/libopenstm32/rcc.h b/include/libopenstm32/rcc.h index 2dccb4e..950f29a 100644 --- a/include/libopenstm32/rcc.h +++ b/include/libopenstm32/rcc.h @@ -401,5 +401,6 @@ u32 rcc_get_system_clock_source(int i); void rcc_clock_setup_in_hsi_out_64mhz(void); void rcc_clock_setup_in_hse_8mhz_out_72mhz(void); void rcc_clock_setup_in_hse_16mhz_out_72mhz(void); +void rcc_backupdomain_reset(void); #endif diff --git a/include/libopenstm32/rtc.h b/include/libopenstm32/rtc.h index ed03acb..c7e89da 100644 --- a/include/libopenstm32/rtc.h +++ b/include/libopenstm32/rtc.h @@ -22,6 +22,7 @@ #include #include +#include /* --- RTC registers ------------------------------------------------------- */ @@ -120,6 +121,26 @@ /* --- Function prototypes --------------------------------------------------*/ -/* TODO */ +typedef enum { + RTC_SEC, RTC_ALR, RTC_OW, +} rtcflag_t; + +void rtc_awake_from_off(osc_t clock_source); +void rtc_enter_config_mode(void); +void rtc_exit_config_mode(void); +void rtc_set_alarm_time(u32 alarm_time); +void rtc_enable_alarm(void); +void rtc_disable_alarm(void); +void rtc_set_prescale_val(u32 prescale_val); +u32 rtc_get_counter_val(void); +u32 rtc_get_prescale_div_val(void); +u32 rtc_get_alarm_val(void); +void rtc_set_counter_val(u32 counter_val); +void rtc_interrupt_enable(rtcflag_t flag_val); +void rtc_interrupt_disable(rtcflag_t flag_val); +void rtc_clear_flag(rtcflag_t flag_val); +u32 rtc_check_flag(rtcflag_t flag_val); +void rtc_awake_from_standby(void); +void rtc_auto_awake(osc_t clock_source, u32 prescale_val); #endif -- cgit v1.2.3