Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2 | Rev 9 | ||
|---|---|---|---|
| Line 4... | Line 4... | ||
| 4 | * @author MCD Application Team |
4 | * @author MCD Application Team |
| 5 | * @brief Header file of RTC HAL Extension module. |
5 | * @brief Header file of RTC HAL Extension module. |
| 6 | ****************************************************************************** |
6 | ****************************************************************************** |
| 7 | * @attention |
7 | * @attention |
| 8 | * |
8 | * |
| 9 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
9 | * <h2><center>© Copyright (c) 2016 STMicroelectronics. |
| - | 10 | * All rights reserved.</center></h2> |
|
| 10 | * |
11 | * |
| 11 | * Redistribution and use in source and binary forms, with or without modification, |
12 | * This software component is licensed by ST under BSD 3-Clause license, |
| 12 | * are permitted provided that the following conditions are met: |
13 | * the "License"; You may not use this file except in compliance with the |
| 13 | * 1. Redistributions of source code must retain the above copyright notice, |
- | |
| 14 | * this list of conditions and the following disclaimer. |
- | |
| 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
- | |
| 16 | * this list of conditions and the following disclaimer in the documentation |
- | |
| 17 | * and/or other materials provided with the distribution. |
14 | * License. You may obtain a copy of the License at: |
| 18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
- | |
| 19 | * may be used to endorse or promote products derived from this software |
15 | * opensource.org/licenses/BSD-3-Clause |
| 20 | * without specific prior written permission. |
- | |
| 21 | * |
16 | * |
| 22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
- | |
| 23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- | |
| 24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- | |
| 25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
- | |
| 26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
- | |
| 27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
- | |
| 28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
- | |
| 29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
- | |
| 30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- | |
| 31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- | |
| 32 | * |
- | |
| 33 | ****************************************************************************** |
17 | ****************************************************************************** |
| 34 | */ |
18 | */ |
| 35 | 19 | ||
| 36 | /* Define to prevent recursive inclusion -------------------------------------*/ |
20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
| 37 | #ifndef __STM32F1xx_HAL_RTC_EX_H |
21 | #ifndef __STM32F1xx_HAL_RTC_EX_H |
| 38 | #define __STM32F1xx_HAL_RTC_EX_H |
22 | #define __STM32F1xx_HAL_RTC_EX_H |
| 39 | 23 | ||
| 40 | #ifdef __cplusplus |
24 | #ifdef __cplusplus |
| 41 | extern "C" { |
25 | extern "C" { |
| 42 | #endif |
26 | #endif |
| 43 | 27 | ||
| 44 | /* Includes ------------------------------------------------------------------*/ |
28 | /* Includes ------------------------------------------------------------------*/ |
| 45 | #include "stm32f1xx_hal_def.h" |
29 | #include "stm32f1xx_hal_def.h" |
| 46 | 30 | ||
| Line 48... | Line 32... | ||
| 48 | * @{ |
32 | * @{ |
| 49 | */ |
33 | */ |
| 50 | 34 | ||
| 51 | /** @addtogroup RTCEx |
35 | /** @addtogroup RTCEx |
| 52 | * @{ |
36 | * @{ |
| 53 | */ |
37 | */ |
| 54 | 38 | ||
| 55 | /** @addtogroup RTCEx_Private_Macros |
39 | /** @addtogroup RTCEx_Private_Macros |
| 56 | * @{ |
40 | * @{ |
| 57 | */ |
41 | */ |
| 58 | 42 | ||
| 59 | /** @defgroup RTCEx_Alias_For_Legacy Alias define maintained for legacy |
43 | /** @defgroup RTCEx_Alias_For_Legacy Alias define maintained for legacy |
| 60 | * @{ |
44 | * @{ |
| 61 | */ |
45 | */ |
| 62 | #define HAL_RTCEx_TamperTimeStampIRQHandler HAL_RTCEx_TamperIRQHandler |
46 | #define HAL_RTCEx_TamperTimeStampIRQHandler HAL_RTCEx_TamperIRQHandler |
| 63 | 47 | ||
| 64 | /** |
48 | /** |
| 65 | * @} |
49 | * @} |
| 66 | */ |
50 | */ |
| 67 | 51 | ||
| 68 | /** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters |
52 | /** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters |
| 69 | * @{ |
53 | * @{ |
| 70 | */ |
54 | */ |
| 71 | #define IS_RTC_TAMPER(__TAMPER__) ((__TAMPER__) == RTC_TAMPER_1) |
55 | #define IS_RTC_TAMPER(__TAMPER__) ((__TAMPER__) == RTC_TAMPER_1) |
| 72 | 56 | ||
| 73 | #define IS_RTC_TAMPER_TRIGGER(__TRIGGER__) (((__TRIGGER__) == RTC_TAMPERTRIGGER_LOWLEVEL) || \ |
57 | #define IS_RTC_TAMPER_TRIGGER(__TRIGGER__) (((__TRIGGER__) == RTC_TAMPERTRIGGER_LOWLEVEL) || \ |
| 74 | ((__TRIGGER__) == RTC_TAMPERTRIGGER_HIGHLEVEL)) |
58 | ((__TRIGGER__) == RTC_TAMPERTRIGGER_HIGHLEVEL)) |
| 75 | 59 | ||
| 76 | #if RTC_BKP_NUMBER > 10U |
60 | #if RTC_BKP_NUMBER > 10U |
| 77 | #define IS_RTC_BKP(BKP) (((BKP) <= (uint32_t)RTC_BKP_DR10) || (((BKP) >= (uint32_t)RTC_BKP_DR11) && ((BKP) <= (uint32_t)RTC_BKP_DR42))) |
61 | #define IS_RTC_BKP(BKP) (((BKP) <= (uint32_t)RTC_BKP_DR10) || (((BKP) >= (uint32_t)RTC_BKP_DR11) && ((BKP) <= (uint32_t)RTC_BKP_DR42))) |
| 78 | #else |
62 | #else |
| 79 | #define IS_RTC_BKP(BKP) ((BKP) <= (uint32_t)RTC_BKP_NUMBER) |
63 | #define IS_RTC_BKP(BKP) ((BKP) <= (uint32_t)RTC_BKP_NUMBER) |
| Line 85... | Line 69... | ||
| 85 | */ |
69 | */ |
| 86 | 70 | ||
| 87 | /** |
71 | /** |
| 88 | * @} |
72 | * @} |
| 89 | */ |
73 | */ |
| 90 | 74 | ||
| 91 | /* Exported types ------------------------------------------------------------*/ |
75 | /* Exported types ------------------------------------------------------------*/ |
| 92 | /** @defgroup RTCEx_Exported_Types RTCEx Exported Types |
76 | /** @defgroup RTCEx_Exported_Types RTCEx Exported Types |
| 93 | * @{ |
77 | * @{ |
| 94 | */ |
78 | */ |
| 95 | /** |
79 | /** |
| 96 | * @brief RTC Tamper structure definition |
80 | * @brief RTC Tamper structure definition |
| 97 | */ |
81 | */ |
| 98 | typedef struct |
82 | typedef struct |
| 99 | { |
83 | { |
| 100 | uint32_t Tamper; /*!< Specifies the Tamper Pin. |
84 | uint32_t Tamper; /*!< Specifies the Tamper Pin. |
| 101 | This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */ |
85 | This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */ |
| 102 | 86 | ||
| 103 | uint32_t Trigger; /*!< Specifies the Tamper Trigger. |
87 | uint32_t Trigger; /*!< Specifies the Tamper Trigger. |
| 104 | This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */ |
88 | This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */ |
| 105 | 89 | ||
| 106 | }RTC_TamperTypeDef; |
90 | } RTC_TamperTypeDef; |
| 107 | 91 | ||
| 108 | /** |
92 | /** |
| 109 | * @} |
93 | * @} |
| 110 | */ |
94 | */ |
| 111 | 95 | ||
| 112 | /* Exported constants --------------------------------------------------------*/ |
96 | /* Exported constants --------------------------------------------------------*/ |
| 113 | /** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants |
97 | /** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants |
| 114 | * @{ |
98 | * @{ |
| 115 | */ |
99 | */ |
| 116 | 100 | ||
| 117 | /** @defgroup RTCEx_Tamper_Pins_Definitions Tamper Pins Definitions |
101 | /** @defgroup RTCEx_Tamper_Pins_Definitions Tamper Pins Definitions |
| 118 | * @{ |
102 | * @{ |
| 119 | */ |
103 | */ |
| 120 | #define RTC_TAMPER_1 BKP_CR_TPE /*!< Select tamper to be enabled (mainly for legacy purposes) */ |
104 | #define RTC_TAMPER_1 BKP_CR_TPE /*!< Select tamper to be enabled (mainly for legacy purposes) */ |
| 121 | 105 | ||
| 122 | /** |
106 | /** |
| 123 | * @} |
107 | * @} |
| 124 | */ |
108 | */ |
| 125 | 109 | ||
| 126 | /** @defgroup RTCEx_Tamper_Trigger_Definitions Tamper Trigger Definitions |
110 | /** @defgroup RTCEx_Tamper_Trigger_Definitions Tamper Trigger Definitions |
| 127 | * @{ |
111 | * @{ |
| 128 | */ |
112 | */ |
| 129 | #define RTC_TAMPERTRIGGER_LOWLEVEL BKP_CR_TPAL /*!< A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) */ |
113 | #define RTC_TAMPERTRIGGER_LOWLEVEL BKP_CR_TPAL /*!< A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) */ |
| 130 | #define RTC_TAMPERTRIGGER_HIGHLEVEL 0x00000000U /*!< A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) */ |
114 | #define RTC_TAMPERTRIGGER_HIGHLEVEL 0x00000000U /*!< A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) */ |
| 131 | 115 | ||
| 132 | /** |
116 | /** |
| 133 | * @} |
117 | * @} |
| 134 | */ |
118 | */ |
| 135 | 119 | ||
| 136 | /** @defgroup RTCEx_Backup_Registers_Definitions Backup Registers Definitions |
120 | /** @defgroup RTCEx_Backup_Registers_Definitions Backup Registers Definitions |
| 137 | * @{ |
121 | * @{ |
| 138 | */ |
122 | */ |
| 139 | #if RTC_BKP_NUMBER > 0U |
123 | #if RTC_BKP_NUMBER > 0U |
| 140 | #define RTC_BKP_DR1 0x00000001U |
124 | #define RTC_BKP_DR1 0x00000001U |
| 141 | #define RTC_BKP_DR2 0x00000002U |
125 | #define RTC_BKP_DR2 0x00000002U |
| Line 146... | Line 130... | ||
| 146 | #define RTC_BKP_DR7 0x00000007U |
130 | #define RTC_BKP_DR7 0x00000007U |
| 147 | #define RTC_BKP_DR8 0x00000008U |
131 | #define RTC_BKP_DR8 0x00000008U |
| 148 | #define RTC_BKP_DR9 0x00000009U |
132 | #define RTC_BKP_DR9 0x00000009U |
| 149 | #define RTC_BKP_DR10 0x0000000AU |
133 | #define RTC_BKP_DR10 0x0000000AU |
| 150 | #endif /* RTC_BKP_NUMBER > 0 */ |
134 | #endif /* RTC_BKP_NUMBER > 0 */ |
| 151 | 135 | ||
| 152 | #if RTC_BKP_NUMBER > 10U |
136 | #if RTC_BKP_NUMBER > 10U |
| 153 | #define RTC_BKP_DR11 0x00000010U |
137 | #define RTC_BKP_DR11 0x00000010U |
| 154 | #define RTC_BKP_DR12 0x00000011U |
138 | #define RTC_BKP_DR12 0x00000011U |
| 155 | #define RTC_BKP_DR13 0x00000012U |
139 | #define RTC_BKP_DR13 0x00000012U |
| 156 | #define RTC_BKP_DR14 0x00000013U |
140 | #define RTC_BKP_DR14 0x00000013U |
| Line 184... | Line 168... | ||
| 184 | #define RTC_BKP_DR42 0x0000002FU |
168 | #define RTC_BKP_DR42 0x0000002FU |
| 185 | #endif /* RTC_BKP_NUMBER > 10 */ |
169 | #endif /* RTC_BKP_NUMBER > 10 */ |
| 186 | 170 | ||
| 187 | /** |
171 | /** |
| 188 | * @} |
172 | * @} |
| 189 | */ |
173 | */ |
| 190 | 174 | ||
| 191 | /** |
175 | /** |
| 192 | * @} |
176 | * @} |
| 193 | */ |
177 | */ |
| 194 | 178 | ||
| 195 | /* Exported macro ------------------------------------------------------------*/ |
179 | /* Exported macro ------------------------------------------------------------*/ |
| 196 | /** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros |
180 | /** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros |
| 197 | * @{ |
181 | * @{ |
| 198 | */ |
182 | */ |
| 199 | 183 | ||
| 200 | /** |
184 | /** |
| 201 | * @brief Enable the RTC Tamper interrupt. |
185 | * @brief Enable the RTC Tamper interrupt. |
| 202 | * @param __HANDLE__: specifies the RTC handle. |
186 | * @param __HANDLE__: specifies the RTC handle. |
| 203 | * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be enabled |
187 | * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be enabled |
| 204 | * This parameter can be any combination of the following values: |
188 | * This parameter can be any combination of the following values: |
| 205 | * @arg RTC_IT_TAMP1: Tamper A interrupt |
189 | * @arg RTC_IT_TAMP1: Tamper A interrupt |
| 206 | * @retval None |
190 | * @retval None |
| 207 | */ |
191 | */ |
| 208 | #define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(BKP->CSR, (__INTERRUPT__)) |
192 | #define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(BKP->CSR, (__INTERRUPT__)) |
| 209 | 193 | ||
| 210 | /** |
194 | /** |
| 211 | * @brief Disable the RTC Tamper interrupt. |
195 | * @brief Disable the RTC Tamper interrupt. |
| 212 | * @param __HANDLE__: specifies the RTC handle. |
196 | * @param __HANDLE__: specifies the RTC handle. |
| 213 | * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be disabled. |
197 | * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be disabled. |
| 214 | * This parameter can be any combination of the following values: |
198 | * This parameter can be any combination of the following values: |
| 215 | * @arg RTC_IT_TAMP1: Tamper A interrupt |
199 | * @arg RTC_IT_TAMP1: Tamper A interrupt |
| 216 | * @retval None |
200 | * @retval None |
| 217 | */ |
201 | */ |
| 218 | #define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(BKP->CSR, (__INTERRUPT__)) |
202 | #define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(BKP->CSR, (__INTERRUPT__)) |
| Line 230... | Line 214... | ||
| 230 | /** |
214 | /** |
| 231 | * @brief Get the selected RTC Tamper's flag status. |
215 | * @brief Get the selected RTC Tamper's flag status. |
| 232 | * @param __HANDLE__: specifies the RTC handle. |
216 | * @param __HANDLE__: specifies the RTC handle. |
| 233 | * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled. |
217 | * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled. |
| 234 | * This parameter can be: |
218 | * This parameter can be: |
| 235 | * @arg RTC_FLAG_TAMP1F |
219 | * @arg RTC_FLAG_TAMP1F |
| 236 | * @retval None |
220 | * @retval None |
| 237 | */ |
221 | */ |
| 238 | #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) ((((BKP->CSR) & (__FLAG__)) != RESET)? SET : RESET) |
222 | #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) ((((BKP->CSR) & (__FLAG__)) != RESET)? SET : RESET) |
| 239 | 223 | ||
| 240 | /** |
224 | /** |
| Line 250... | Line 234... | ||
| 250 | /** |
234 | /** |
| 251 | * @brief Clear the RTC Tamper's pending flags. |
235 | * @brief Clear the RTC Tamper's pending flags. |
| 252 | * @param __HANDLE__: specifies the RTC handle. |
236 | * @param __HANDLE__: specifies the RTC handle. |
| 253 | * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled. |
237 | * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled. |
| 254 | * This parameter can be: |
238 | * This parameter can be: |
| 255 | * @arg RTC_FLAG_TAMP1F |
239 | * @arg RTC_FLAG_TAMP1F |
| 256 | * @retval None |
240 | * @retval None |
| 257 | */ |
241 | */ |
| 258 | #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT(BKP->CSR, BKP_CSR_CTE | BKP_CSR_CTI) |
242 | #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT(BKP->CSR, BKP_CSR_CTE | BKP_CSR_CTI) |
| 259 | 243 | ||
| 260 | /** |
244 | /** |
| Line 262... | Line 246... | ||
| 262 | * @param __HANDLE__: specifies the RTC handle. |
246 | * @param __HANDLE__: specifies the RTC handle. |
| 263 | * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be enabled |
247 | * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be enabled |
| 264 | * This parameter can be any combination of the following values: |
248 | * This parameter can be any combination of the following values: |
| 265 | * @arg RTC_IT_SEC: Second A interrupt |
249 | * @arg RTC_IT_SEC: Second A interrupt |
| 266 | * @retval None |
250 | * @retval None |
| 267 | */ |
251 | */ |
| 268 | #define __HAL_RTC_SECOND_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
252 | #define __HAL_RTC_SECOND_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
| 269 | 253 | ||
| 270 | /** |
254 | /** |
| 271 | * @brief Disable the RTC Second interrupt. |
255 | * @brief Disable the RTC Second interrupt. |
| 272 | * @param __HANDLE__: specifies the RTC handle. |
256 | * @param __HANDLE__: specifies the RTC handle. |
| 273 | * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be disabled. |
257 | * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be disabled. |
| 274 | * This parameter can be any combination of the following values: |
258 | * This parameter can be any combination of the following values: |
| 275 | * @arg RTC_IT_SEC: Second A interrupt |
259 | * @arg RTC_IT_SEC: Second A interrupt |
| 276 | * @retval None |
260 | * @retval None |
| 277 | */ |
261 | */ |
| 278 | #define __HAL_RTC_SECOND_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
262 | #define __HAL_RTC_SECOND_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
| Line 312... | Line 296... | ||
| 312 | * @param __HANDLE__: specifies the RTC handle. |
296 | * @param __HANDLE__: specifies the RTC handle. |
| 313 | * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be enabled |
297 | * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be enabled |
| 314 | * This parameter can be any combination of the following values: |
298 | * This parameter can be any combination of the following values: |
| 315 | * @arg RTC_IT_OW: Overflow A interrupt |
299 | * @arg RTC_IT_OW: Overflow A interrupt |
| 316 | * @retval None |
300 | * @retval None |
| 317 | */ |
301 | */ |
| 318 | #define __HAL_RTC_OVERFLOW_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
302 | #define __HAL_RTC_OVERFLOW_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
| 319 | 303 | ||
| 320 | /** |
304 | /** |
| 321 | * @brief Disable the RTC Overflow interrupt. |
305 | * @brief Disable the RTC Overflow interrupt. |
| 322 | * @param __HANDLE__: specifies the RTC handle. |
306 | * @param __HANDLE__: specifies the RTC handle. |
| 323 | * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be disabled. |
307 | * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be disabled. |
| 324 | * This parameter can be any combination of the following values: |
308 | * This parameter can be any combination of the following values: |
| 325 | * @arg RTC_IT_OW: Overflow A interrupt |
309 | * @arg RTC_IT_OW: Overflow A interrupt |
| 326 | * @retval None |
310 | * @retval None |
| 327 | */ |
311 | */ |
| 328 | #define __HAL_RTC_OVERFLOW_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
312 | #define __HAL_RTC_OVERFLOW_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__)) |
| Line 357... | Line 341... | ||
| 357 | */ |
341 | */ |
| 358 | #define __HAL_RTC_OVERFLOW_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CRL) = ~(__FLAG__) |
342 | #define __HAL_RTC_OVERFLOW_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CRL) = ~(__FLAG__) |
| 359 | 343 | ||
| 360 | /** |
344 | /** |
| 361 | * @} |
345 | * @} |
| 362 | */ |
346 | */ |
| 363 | 347 | ||
| 364 | /* Exported functions --------------------------------------------------------*/ |
348 | /* Exported functions --------------------------------------------------------*/ |
| 365 | /** @addtogroup RTCEx_Exported_Functions |
349 | /** @addtogroup RTCEx_Exported_Functions |
| 366 | * @{ |
350 | * @{ |
| 367 | */ |
351 | */ |
| 368 | 352 | ||
| 369 | /* RTC Tamper functions *****************************************/ |
353 | /* RTC Tamper functions *****************************************/ |
| 370 | /** @addtogroup RTCEx_Exported_Functions_Group1 |
354 | /** @addtogroup RTCEx_Exported_Functions_Group1 |
| 371 | * @{ |
355 | * @{ |
| 372 | */ |
356 | */ |
| 373 | HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); |
357 | HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef *sTamper); |
| 374 | HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); |
358 | HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef *sTamper); |
| 375 | HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper); |
359 | HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper); |
| 376 | void HAL_RTCEx_TamperIRQHandler(RTC_HandleTypeDef *hrtc); |
360 | void HAL_RTCEx_TamperIRQHandler(RTC_HandleTypeDef *hrtc); |
| 377 | void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc); |
361 | void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc); |
| 378 | HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
362 | HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
| 379 | 363 | ||
| 380 | /** |
364 | /** |
| 381 | * @} |
365 | * @} |
| 382 | */ |
366 | */ |
| 383 | 367 | ||
| 384 | /* RTC Second functions *****************************************/ |
368 | /* RTC Second functions *****************************************/ |
| 385 | /** @addtogroup RTCEx_Exported_Functions_Group2 |
369 | /** @addtogroup RTCEx_Exported_Functions_Group2 |
| 386 | * @{ |
370 | * @{ |
| 387 | */ |
371 | */ |
| 388 | HAL_StatusTypeDef HAL_RTCEx_SetSecond_IT(RTC_HandleTypeDef *hrtc); |
372 | HAL_StatusTypeDef HAL_RTCEx_SetSecond_IT(RTC_HandleTypeDef *hrtc); |
| 389 | HAL_StatusTypeDef HAL_RTCEx_DeactivateSecond(RTC_HandleTypeDef *hrtc); |
373 | HAL_StatusTypeDef HAL_RTCEx_DeactivateSecond(RTC_HandleTypeDef *hrtc); |
| 390 | void HAL_RTCEx_RTCIRQHandler(RTC_HandleTypeDef* hrtc); |
374 | void HAL_RTCEx_RTCIRQHandler(RTC_HandleTypeDef *hrtc); |
| 391 | void HAL_RTCEx_RTCEventCallback(RTC_HandleTypeDef *hrtc); |
375 | void HAL_RTCEx_RTCEventCallback(RTC_HandleTypeDef *hrtc); |
| 392 | void HAL_RTCEx_RTCEventErrorCallback(RTC_HandleTypeDef *hrtc); |
376 | void HAL_RTCEx_RTCEventErrorCallback(RTC_HandleTypeDef *hrtc); |
| 393 | 377 | ||
| 394 | /** |
378 | /** |
| 395 | * @} |
379 | * @} |
| 396 | */ |
380 | */ |
| 397 | 381 | ||
| 398 | /* Extension Control functions ************************************************/ |
382 | /* Extension Control functions ************************************************/ |
| 399 | /** @addtogroup RTCEx_Exported_Functions_Group3 |
383 | /** @addtogroup RTCEx_Exported_Functions_Group3 |
| 400 | * @{ |
384 | * @{ |
| 401 | */ |
385 | */ |
| 402 | void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data); |
386 | void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data); |
| 403 | uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister); |
387 | uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister); |
| 404 | 388 | ||
| 405 | HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef* hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmouthCalibMinusPulsesValue); |
389 | HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmouthCalibMinusPulsesValue); |
| 406 | /** |
390 | /** |
| 407 | * @} |
391 | * @} |
| 408 | */ |
392 | */ |
| 409 | 393 | ||
| 410 | /** |
394 | /** |
| 411 | * @} |
395 | * @} |
| 412 | */ |
396 | */ |
| 413 | 397 | ||
| 414 | /** |
398 | /** |
| 415 | * @} |
399 | * @} |
| 416 | */ |
400 | */ |
| 417 | 401 | ||
| 418 | /** |
402 | /** |
| 419 | * @} |
403 | * @} |
| 420 | */ |
404 | */ |
| 421 | 405 | ||