1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
\r
2 * File Name : stm32f10x_rtc.h
\r
3 * Author : MCD Application Team
\r
6 * Description : This file contains all the functions prototypes for the
\r
7 * RTC firmware library.
\r
8 ********************************************************************************
\r
9 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
\r
10 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
\r
11 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
\r
12 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
\r
13 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
\r
14 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
\r
15 *******************************************************************************/
\r
17 /* Define to prevent recursive inclusion -------------------------------------*/
\r
18 #ifndef __STM32F10x_RTC_H
\r
19 #define __STM32F10x_RTC_H
\r
21 /* Includes ------------------------------------------------------------------*/
\r
22 #include "stm32f10x_map.h"
\r
24 /* Exported types ------------------------------------------------------------*/
\r
25 /* Exported constants --------------------------------------------------------*/
\r
26 /* RTC interrupts define -----------------------------------------------------*/
\r
27 #define RTC_IT_OW ((u16)0x0004) /* Overflow interrupt */
\r
28 #define RTC_IT_ALR ((u16)0x0002) /* Alarm interrupt */
\r
29 #define RTC_IT_SEC ((u16)0x0001) /* Second interrupt */
\r
31 #define IS_RTC_IT(IT) ((((IT) & (u16)0xFFF8) == 0x00) && ((IT) != 0x00))
\r
33 #define IS_RTC_GET_IT(IT) (((IT) == RTC_IT_OW) || ((IT) == RTC_IT_ALR) || \
\r
34 ((IT) == RTC_IT_SEC))
\r
36 /* RTC interrupts flags ------------------------------------------------------*/
\r
37 #define RTC_FLAG_RTOFF ((u16)0x0020) /* RTC Operation OFF flag */
\r
38 #define RTC_FLAG_RSF ((u16)0x0008) /* Registers Synchronized flag */
\r
39 #define RTC_FLAG_OW ((u16)0x0004) /* Overflow flag */
\r
40 #define RTC_FLAG_ALR ((u16)0x0002) /* Alarm flag */
\r
41 #define RTC_FLAG_SEC ((u16)0x0001) /* Second flag */
\r
43 #define IS_RTC_CLEAR_FLAG(FLAG) ((((FLAG) & (u16)0xFFF0) == 0x00) && ((FLAG) != 0x00))
\r
45 #define IS_RTC_GET_FLAG(FLAG) (((FLAG) == RTC_FLAG_RTOFF) || ((FLAG) == RTC_FLAG_RSF) || \
\r
46 ((FLAG) == RTC_FLAG_OW) || ((FLAG) == RTC_FLAG_ALR) || \
\r
47 ((FLAG) == RTC_FLAG_SEC))
\r
49 #define IS_RTC_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFFFFF)
\r
51 /* Exported macro ------------------------------------------------------------*/
\r
52 /* Exported functions ------------------------------------------------------- */
\r
53 void RTC_ITConfig(u16 RTC_IT, FunctionalState NewState);
\r
54 void RTC_EnterConfigMode(void);
\r
55 void RTC_ExitConfigMode(void);
\r
56 u32 RTC_GetCounter(void);
\r
57 void RTC_SetCounter(u32 CounterValue);
\r
58 void RTC_SetPrescaler(u32 PrescalerValue);
\r
59 void RTC_SetAlarm(u32 AlarmValue);
\r
60 u32 RTC_GetDivider(void);
\r
61 void RTC_WaitForLastTask(void);
\r
62 void RTC_WaitForSynchro(void);
\r
63 FlagStatus RTC_GetFlagStatus(u16 RTC_FLAG);
\r
64 void RTC_ClearFlag(u16 RTC_FLAG);
\r
65 ITStatus RTC_GetITStatus(u16 RTC_IT);
\r
66 void RTC_ClearITPendingBit(u16 RTC_IT);
\r
68 #endif /* __STM32F10x_RTC_H */
\r
70 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
\r