]> jspc29.x-matter.uni-frankfurt.de Git - mvd_firmware.git/blob
214a5893a00815ebb1020d2b42a83b99a0b1a630
[mvd_firmware.git] /
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f10x_rtc.h\r
4   * @author  MCD Application Team\r
5   * @version V3.5.0\r
6   * @date    11-March-2011\r
7   * @brief   This file contains all the functions prototypes for the RTC firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>\r
20   ******************************************************************************\r
21   */\r
22 \r
23 /* Define to prevent recursive inclusion -------------------------------------*/\r
24 #ifndef __STM32F10x_RTC_H\r
25 #define __STM32F10x_RTC_H\r
26 \r
27 #ifdef __cplusplus\r
28  extern "C" {\r
29 #endif\r
30 \r
31 /* Includes ------------------------------------------------------------------*/\r
32 #include "stm32f10x.h"\r
33 \r
34 /** @addtogroup STM32F10x_StdPeriph_Driver\r
35   * @{\r
36   */\r
37 \r
38 /** @addtogroup RTC\r
39   * @{\r
40   */ \r
41 \r
42 /** @defgroup RTC_Exported_Types\r
43   * @{\r
44   */ \r
45 \r
46 /**\r
47   * @}\r
48   */ \r
49 \r
50 /** @defgroup RTC_Exported_Constants\r
51   * @{\r
52   */\r
53 \r
54 /** @defgroup RTC_interrupts_define \r
55   * @{\r
56   */\r
57 \r
58 #define RTC_IT_OW            ((uint16_t)0x0004)  /*!< Overflow interrupt */\r
59 #define RTC_IT_ALR           ((uint16_t)0x0002)  /*!< Alarm interrupt */\r
60 #define RTC_IT_SEC           ((uint16_t)0x0001)  /*!< Second interrupt */\r
61 #define IS_RTC_IT(IT) ((((IT) & (uint16_t)0xFFF8) == 0x00) && ((IT) != 0x00))\r
62 #define IS_RTC_GET_IT(IT) (((IT) == RTC_IT_OW) || ((IT) == RTC_IT_ALR) || \\r
63                            ((IT) == RTC_IT_SEC))\r
64 /**\r
65   * @}\r
66   */ \r
67 \r
68 /** @defgroup RTC_interrupts_flags \r
69   * @{\r
70   */\r
71 \r
72 #define RTC_FLAG_RTOFF       ((uint16_t)0x0020)  /*!< RTC Operation OFF flag */\r
73 #define RTC_FLAG_RSF         ((uint16_t)0x0008)  /*!< Registers Synchronized flag */\r
74 #define RTC_FLAG_OW          ((uint16_t)0x0004)  /*!< Overflow flag */\r
75 #define RTC_FLAG_ALR         ((uint16_t)0x0002)  /*!< Alarm flag */\r
76 #define RTC_FLAG_SEC         ((uint16_t)0x0001)  /*!< Second flag */\r
77 #define IS_RTC_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0xFFF0) == 0x00) && ((FLAG) != 0x00))\r
78 #define IS_RTC_GET_FLAG(FLAG) (((FLAG) == RTC_FLAG_RTOFF) || ((FLAG) == RTC_FLAG_RSF) || \\r
79                                ((FLAG) == RTC_FLAG_OW) || ((FLAG) == RTC_FLAG_ALR) || \\r
80                                ((FLAG) == RTC_FLAG_SEC))\r
81 #define IS_RTC_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFFFFF)\r
82 \r
83 /**\r
84   * @}\r
85   */\r
86 \r
87 /**\r
88   * @}\r
89   */\r
90 \r
91 /** @defgroup RTC_Exported_Macros\r
92   * @{\r
93   */\r
94 \r
95 /**\r
96   * @}\r
97   */\r
98 \r
99 /** @defgroup RTC_Exported_Functions\r
100   * @{\r
101   */\r
102 \r
103 void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);\r
104 void RTC_EnterConfigMode(void);\r
105 void RTC_ExitConfigMode(void);\r
106 uint32_t  RTC_GetCounter(void);\r
107 void RTC_SetCounter(uint32_t CounterValue);\r
108 void RTC_SetPrescaler(uint32_t PrescalerValue);\r
109 void RTC_SetAlarm(uint32_t AlarmValue);\r
110 uint32_t  RTC_GetDivider(void);\r
111 void RTC_WaitForLastTask(void);\r
112 void RTC_WaitForSynchro(void);\r
113 FlagStatus RTC_GetFlagStatus(uint16_t RTC_FLAG);\r
114 void RTC_ClearFlag(uint16_t RTC_FLAG);\r
115 ITStatus RTC_GetITStatus(uint16_t RTC_IT);\r
116 void RTC_ClearITPendingBit(uint16_t RTC_IT);\r
117 \r
118 #ifdef __cplusplus\r
119 }\r
120 #endif\r
121 \r
122 #endif /* __STM32F10x_RTC_H */\r
123 /**\r
124   * @}\r
125   */\r
126 \r
127 /**\r
128   * @}\r
129   */\r
130 \r
131 /**\r
132   * @}\r
133   */\r
134 \r
135 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/\r