mbed(SerialHalfDuplex入り)

Fork of mbed by mbed official

Committer:
yusuke_kyo
Date:
Wed Apr 08 08:04:18 2015 +0000
Revision:
98:01a414ca7d6d
Parent:
96:487b796308b0
remove SerialHalfDuplex.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 96:487b796308b0 1 /**
Kojto 96:487b796308b0 2 ******************************************************************************
Kojto 96:487b796308b0 3 * @file stm32f1xx_hal_rtc_ex.h
Kojto 96:487b796308b0 4 * @author MCD Application Team
Kojto 96:487b796308b0 5 * @version V1.0.0
Kojto 96:487b796308b0 6 * @date 15-December-2014
Kojto 96:487b796308b0 7 * @brief Header file of RTC HAL Extension module.
Kojto 96:487b796308b0 8 ******************************************************************************
Kojto 96:487b796308b0 9 * @attention
Kojto 96:487b796308b0 10 *
Kojto 96:487b796308b0 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Kojto 96:487b796308b0 12 *
Kojto 96:487b796308b0 13 * Redistribution and use in source and binary forms, with or without modification,
Kojto 96:487b796308b0 14 * are permitted provided that the following conditions are met:
Kojto 96:487b796308b0 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 96:487b796308b0 16 * this list of conditions and the following disclaimer.
Kojto 96:487b796308b0 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 96:487b796308b0 18 * this list of conditions and the following disclaimer in the documentation
Kojto 96:487b796308b0 19 * and/or other materials provided with the distribution.
Kojto 96:487b796308b0 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 96:487b796308b0 21 * may be used to endorse or promote products derived from this software
Kojto 96:487b796308b0 22 * without specific prior written permission.
Kojto 96:487b796308b0 23 *
Kojto 96:487b796308b0 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 96:487b796308b0 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 96:487b796308b0 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 96:487b796308b0 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 96:487b796308b0 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 96:487b796308b0 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 96:487b796308b0 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 96:487b796308b0 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 96:487b796308b0 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 96:487b796308b0 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 96:487b796308b0 34 *
Kojto 96:487b796308b0 35 ******************************************************************************
Kojto 96:487b796308b0 36 */
Kojto 96:487b796308b0 37
Kojto 96:487b796308b0 38 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 96:487b796308b0 39 #ifndef __STM32F1xx_HAL_RTC_EX_H
Kojto 96:487b796308b0 40 #define __STM32F1xx_HAL_RTC_EX_H
Kojto 96:487b796308b0 41
Kojto 96:487b796308b0 42 #ifdef __cplusplus
Kojto 96:487b796308b0 43 extern "C" {
Kojto 96:487b796308b0 44 #endif
Kojto 96:487b796308b0 45
Kojto 96:487b796308b0 46 /* Includes ------------------------------------------------------------------*/
Kojto 96:487b796308b0 47 #include "stm32f1xx_hal_def.h"
Kojto 96:487b796308b0 48
Kojto 96:487b796308b0 49 /** @addtogroup STM32F1xx_HAL_Driver
Kojto 96:487b796308b0 50 * @{
Kojto 96:487b796308b0 51 */
Kojto 96:487b796308b0 52
Kojto 96:487b796308b0 53 /** @addtogroup RTCEx
Kojto 96:487b796308b0 54 * @{
Kojto 96:487b796308b0 55 */
Kojto 96:487b796308b0 56
Kojto 96:487b796308b0 57 /** @addtogroup RTCEx_Private_Macros
Kojto 96:487b796308b0 58 * @{
Kojto 96:487b796308b0 59 */
Kojto 96:487b796308b0 60
Kojto 96:487b796308b0 61 /** @defgroup RTCEx_Alias_For_Legacy Alias define maintained for legacy
Kojto 96:487b796308b0 62 * @{
Kojto 96:487b796308b0 63 */
Kojto 96:487b796308b0 64 #define HAL_RTCEx_TamperTimeStampIRQHandler HAL_RTCEx_TamperIRQHandler
Kojto 96:487b796308b0 65
Kojto 96:487b796308b0 66 /**
Kojto 96:487b796308b0 67 * @}
Kojto 96:487b796308b0 68 */
Kojto 96:487b796308b0 69
Kojto 96:487b796308b0 70 /** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters
Kojto 96:487b796308b0 71 * @{
Kojto 96:487b796308b0 72 */
Kojto 96:487b796308b0 73 #define IS_RTC_TAMPER(__TAMPER__) ((__TAMPER__) == RTC_TAMPER_1)
Kojto 96:487b796308b0 74
Kojto 96:487b796308b0 75 #define IS_RTC_TAMPER_TRIGGER(__TRIGGER__) (((__TRIGGER__) == RTC_TAMPERTRIGGER_LOWLEVEL) || \
Kojto 96:487b796308b0 76 ((__TRIGGER__) == RTC_TAMPERTRIGGER_HIGHLEVEL))
Kojto 96:487b796308b0 77
Kojto 96:487b796308b0 78 #if RTC_BKP_NUMBER > 10
Kojto 96:487b796308b0 79 #define IS_RTC_BKP(BKP) (((BKP) <= (uint32_t) RTC_BKP_DR10) || (((BKP) >= (uint32_t) RTC_BKP_DR11) && ((BKP) <= (uint32_t) RTC_BKP_DR42)))
Kojto 96:487b796308b0 80 #else
Kojto 96:487b796308b0 81 #define IS_RTC_BKP(BKP) ((BKP) <= (uint32_t) RTC_BKP_NUMBER)
Kojto 96:487b796308b0 82 #endif
Kojto 96:487b796308b0 83 #define IS_RTC_SMOOTH_CALIB_MINUS(__VALUE__) ((__VALUE__) <= 0x0000007F)
Kojto 96:487b796308b0 84
Kojto 96:487b796308b0 85 /**
Kojto 96:487b796308b0 86 * @}
Kojto 96:487b796308b0 87 */
Kojto 96:487b796308b0 88
Kojto 96:487b796308b0 89 /**
Kojto 96:487b796308b0 90 * @}
Kojto 96:487b796308b0 91 */
Kojto 96:487b796308b0 92
Kojto 96:487b796308b0 93 /* Exported types ------------------------------------------------------------*/
Kojto 96:487b796308b0 94 /** @defgroup RTCEx_Exported_Types RTCEx Exported Types
Kojto 96:487b796308b0 95 * @{
Kojto 96:487b796308b0 96 */
Kojto 96:487b796308b0 97 /**
Kojto 96:487b796308b0 98 * @brief RTC Tamper structure definition
Kojto 96:487b796308b0 99 */
Kojto 96:487b796308b0 100 typedef struct
Kojto 96:487b796308b0 101 {
Kojto 96:487b796308b0 102 uint32_t Tamper; /*!< Specifies the Tamper Pin.
Kojto 96:487b796308b0 103 This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */
Kojto 96:487b796308b0 104
Kojto 96:487b796308b0 105 uint32_t Trigger; /*!< Specifies the Tamper Trigger.
Kojto 96:487b796308b0 106 This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */
Kojto 96:487b796308b0 107
Kojto 96:487b796308b0 108 }RTC_TamperTypeDef;
Kojto 96:487b796308b0 109
Kojto 96:487b796308b0 110 /**
Kojto 96:487b796308b0 111 * @}
Kojto 96:487b796308b0 112 */
Kojto 96:487b796308b0 113
Kojto 96:487b796308b0 114 /* Exported constants --------------------------------------------------------*/
Kojto 96:487b796308b0 115 /** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants
Kojto 96:487b796308b0 116 * @{
Kojto 96:487b796308b0 117 */
Kojto 96:487b796308b0 118
Kojto 96:487b796308b0 119 /** @defgroup RTCEx_Tamper_Pins_Definitions Tamper Pins Definitions
Kojto 96:487b796308b0 120 * @{
Kojto 96:487b796308b0 121 */
Kojto 96:487b796308b0 122 #define RTC_TAMPER_1 BKP_CR_TPE /*!< Select tamper to be enabled (mainly for legacy purposes) */
Kojto 96:487b796308b0 123
Kojto 96:487b796308b0 124 /**
Kojto 96:487b796308b0 125 * @}
Kojto 96:487b796308b0 126 */
Kojto 96:487b796308b0 127
Kojto 96:487b796308b0 128 /** @defgroup RTCEx_Tamper_Trigger_Definitions Tamper Trigger Definitions
Kojto 96:487b796308b0 129 * @{
Kojto 96:487b796308b0 130 */
Kojto 96:487b796308b0 131 #define RTC_TAMPERTRIGGER_LOWLEVEL BKP_CR_TPAL /*!< A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) */
Kojto 96:487b796308b0 132 #define RTC_TAMPERTRIGGER_HIGHLEVEL ((uint32_t)0x00000000) /*!< A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) */
Kojto 96:487b796308b0 133
Kojto 96:487b796308b0 134 /**
Kojto 96:487b796308b0 135 * @}
Kojto 96:487b796308b0 136 */
Kojto 96:487b796308b0 137
Kojto 96:487b796308b0 138 /** @defgroup RTCEx_Backup_Registers_Definitions Backup Registers Definitions
Kojto 96:487b796308b0 139 * @{
Kojto 96:487b796308b0 140 */
Kojto 96:487b796308b0 141 #if RTC_BKP_NUMBER > 0
Kojto 96:487b796308b0 142 #define RTC_BKP_DR1 ((uint32_t)0x00000001)
Kojto 96:487b796308b0 143 #define RTC_BKP_DR2 ((uint32_t)0x00000002)
Kojto 96:487b796308b0 144 #define RTC_BKP_DR3 ((uint32_t)0x00000003)
Kojto 96:487b796308b0 145 #define RTC_BKP_DR4 ((uint32_t)0x00000004)
Kojto 96:487b796308b0 146 #define RTC_BKP_DR5 ((uint32_t)0x00000005)
Kojto 96:487b796308b0 147 #define RTC_BKP_DR6 ((uint32_t)0x00000006)
Kojto 96:487b796308b0 148 #define RTC_BKP_DR7 ((uint32_t)0x00000007)
Kojto 96:487b796308b0 149 #define RTC_BKP_DR8 ((uint32_t)0x00000008)
Kojto 96:487b796308b0 150 #define RTC_BKP_DR9 ((uint32_t)0x00000009)
Kojto 96:487b796308b0 151 #define RTC_BKP_DR10 ((uint32_t)0x0000000A)
Kojto 96:487b796308b0 152 #endif /* RTC_BKP_NUMBER > 0 */
Kojto 96:487b796308b0 153
Kojto 96:487b796308b0 154 #if RTC_BKP_NUMBER > 10
Kojto 96:487b796308b0 155 #define RTC_BKP_DR11 ((uint32_t)0x00000010)
Kojto 96:487b796308b0 156 #define RTC_BKP_DR12 ((uint32_t)0x00000011)
Kojto 96:487b796308b0 157 #define RTC_BKP_DR13 ((uint32_t)0x00000012)
Kojto 96:487b796308b0 158 #define RTC_BKP_DR14 ((uint32_t)0x00000013)
Kojto 96:487b796308b0 159 #define RTC_BKP_DR15 ((uint32_t)0x00000014)
Kojto 96:487b796308b0 160 #define RTC_BKP_DR16 ((uint32_t)0x00000015)
Kojto 96:487b796308b0 161 #define RTC_BKP_DR17 ((uint32_t)0x00000016)
Kojto 96:487b796308b0 162 #define RTC_BKP_DR18 ((uint32_t)0x00000017)
Kojto 96:487b796308b0 163 #define RTC_BKP_DR19 ((uint32_t)0x00000018)
Kojto 96:487b796308b0 164 #define RTC_BKP_DR20 ((uint32_t)0x00000019)
Kojto 96:487b796308b0 165 #define RTC_BKP_DR21 ((uint32_t)0x0000001A)
Kojto 96:487b796308b0 166 #define RTC_BKP_DR22 ((uint32_t)0x0000001B)
Kojto 96:487b796308b0 167 #define RTC_BKP_DR23 ((uint32_t)0x0000001C)
Kojto 96:487b796308b0 168 #define RTC_BKP_DR24 ((uint32_t)0x0000001D)
Kojto 96:487b796308b0 169 #define RTC_BKP_DR25 ((uint32_t)0x0000001E)
Kojto 96:487b796308b0 170 #define RTC_BKP_DR26 ((uint32_t)0x0000001F)
Kojto 96:487b796308b0 171 #define RTC_BKP_DR27 ((uint32_t)0x00000020)
Kojto 96:487b796308b0 172 #define RTC_BKP_DR28 ((uint32_t)0x00000021)
Kojto 96:487b796308b0 173 #define RTC_BKP_DR29 ((uint32_t)0x00000022)
Kojto 96:487b796308b0 174 #define RTC_BKP_DR30 ((uint32_t)0x00000023)
Kojto 96:487b796308b0 175 #define RTC_BKP_DR31 ((uint32_t)0x00000024)
Kojto 96:487b796308b0 176 #define RTC_BKP_DR32 ((uint32_t)0x00000025)
Kojto 96:487b796308b0 177 #define RTC_BKP_DR33 ((uint32_t)0x00000026)
Kojto 96:487b796308b0 178 #define RTC_BKP_DR34 ((uint32_t)0x00000027)
Kojto 96:487b796308b0 179 #define RTC_BKP_DR35 ((uint32_t)0x00000028)
Kojto 96:487b796308b0 180 #define RTC_BKP_DR36 ((uint32_t)0x00000029)
Kojto 96:487b796308b0 181 #define RTC_BKP_DR37 ((uint32_t)0x0000002A)
Kojto 96:487b796308b0 182 #define RTC_BKP_DR38 ((uint32_t)0x0000002B)
Kojto 96:487b796308b0 183 #define RTC_BKP_DR39 ((uint32_t)0x0000002C)
Kojto 96:487b796308b0 184 #define RTC_BKP_DR40 ((uint32_t)0x0000002D)
Kojto 96:487b796308b0 185 #define RTC_BKP_DR41 ((uint32_t)0x0000002E)
Kojto 96:487b796308b0 186 #define RTC_BKP_DR42 ((uint32_t)0x0000002F)
Kojto 96:487b796308b0 187 #endif /* RTC_BKP_NUMBER > 10 */
Kojto 96:487b796308b0 188
Kojto 96:487b796308b0 189 /**
Kojto 96:487b796308b0 190 * @}
Kojto 96:487b796308b0 191 */
Kojto 96:487b796308b0 192
Kojto 96:487b796308b0 193 /**
Kojto 96:487b796308b0 194 * @}
Kojto 96:487b796308b0 195 */
Kojto 96:487b796308b0 196
Kojto 96:487b796308b0 197 /* Exported macro ------------------------------------------------------------*/
Kojto 96:487b796308b0 198 /** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros
Kojto 96:487b796308b0 199 * @{
Kojto 96:487b796308b0 200 */
Kojto 96:487b796308b0 201
Kojto 96:487b796308b0 202 /**
Kojto 96:487b796308b0 203 * @brief Enable the RTC Tamper interrupt.
Kojto 96:487b796308b0 204 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 205 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be enabled
Kojto 96:487b796308b0 206 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 207 * @arg RTC_IT_TAMP1: Tamper A interrupt
Kojto 96:487b796308b0 208 * @retval None
Kojto 96:487b796308b0 209 */
Kojto 96:487b796308b0 210 #define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(BKP->CSR, (__INTERRUPT__))
Kojto 96:487b796308b0 211
Kojto 96:487b796308b0 212 /**
Kojto 96:487b796308b0 213 * @brief Disable the RTC Tamper interrupt.
Kojto 96:487b796308b0 214 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 215 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be disabled.
Kojto 96:487b796308b0 216 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 217 * @arg RTC_IT_TAMP1: Tamper A interrupt
Kojto 96:487b796308b0 218 * @retval None
Kojto 96:487b796308b0 219 */
Kojto 96:487b796308b0 220 #define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(BKP->CSR, (__INTERRUPT__))
Kojto 96:487b796308b0 221
Kojto 96:487b796308b0 222 /**
Kojto 96:487b796308b0 223 * @brief Check whether the specified RTC Tamper interrupt has been enabled or not.
Kojto 96:487b796308b0 224 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 225 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be checked.
Kojto 96:487b796308b0 226 * This parameter can be:
Kojto 96:487b796308b0 227 * @arg RTC_IT_TAMP1
Kojto 96:487b796308b0 228 * @retval None
Kojto 96:487b796308b0 229 */
Kojto 96:487b796308b0 230 #define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((BKP->CSR) & ((__INTERRUPT__))) != RESET)? SET : RESET)
Kojto 96:487b796308b0 231
Kojto 96:487b796308b0 232 /**
Kojto 96:487b796308b0 233 * @brief Get the selected RTC Tamper's flag status.
Kojto 96:487b796308b0 234 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 235 * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 236 * This parameter can be:
Kojto 96:487b796308b0 237 * @arg RTC_FLAG_TAMP1F
Kojto 96:487b796308b0 238 * @retval None
Kojto 96:487b796308b0 239 */
Kojto 96:487b796308b0 240 #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) ((((BKP->CSR) & (__FLAG__)) != RESET)? SET : RESET)
Kojto 96:487b796308b0 241
Kojto 96:487b796308b0 242 /**
Kojto 96:487b796308b0 243 * @brief Get the selected RTC Tamper's flag status.
Kojto 96:487b796308b0 244 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 245 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be checked.
Kojto 96:487b796308b0 246 * This parameter can be:
Kojto 96:487b796308b0 247 * @arg RTC_IT_TAMP1
Kojto 96:487b796308b0 248 * @retval None
Kojto 96:487b796308b0 249 */
Kojto 96:487b796308b0 250 #define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) ((((BKP->CSR) & (BKP_CSR_TEF)) != RESET)? SET : RESET)
Kojto 96:487b796308b0 251
Kojto 96:487b796308b0 252 /**
Kojto 96:487b796308b0 253 * @brief Clear the RTC Tamper's pending flags.
Kojto 96:487b796308b0 254 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 255 * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 256 * This parameter can be:
Kojto 96:487b796308b0 257 * @arg RTC_FLAG_TAMP1F
Kojto 96:487b796308b0 258 * @retval None
Kojto 96:487b796308b0 259 */
Kojto 96:487b796308b0 260 #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT(BKP->CSR, BKP_CSR_CTE | BKP_CSR_CTI)
Kojto 96:487b796308b0 261
Kojto 96:487b796308b0 262 /**
Kojto 96:487b796308b0 263 * @brief Enable the RTC Second interrupt.
Kojto 96:487b796308b0 264 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 265 * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be enabled
Kojto 96:487b796308b0 266 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 267 * @arg RTC_IT_SEC: Second A interrupt
Kojto 96:487b796308b0 268 * @retval None
Kojto 96:487b796308b0 269 */
Kojto 96:487b796308b0 270 #define __HAL_RTC_SECOND_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__))
Kojto 96:487b796308b0 271
Kojto 96:487b796308b0 272 /**
Kojto 96:487b796308b0 273 * @brief Disable the RTC Second interrupt.
Kojto 96:487b796308b0 274 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 275 * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be disabled.
Kojto 96:487b796308b0 276 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 277 * @arg RTC_IT_SEC: Second A interrupt
Kojto 96:487b796308b0 278 * @retval None
Kojto 96:487b796308b0 279 */
Kojto 96:487b796308b0 280 #define __HAL_RTC_SECOND_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__))
Kojto 96:487b796308b0 281
Kojto 96:487b796308b0 282 /**
Kojto 96:487b796308b0 283 * @brief Check whether the specified RTC Second interrupt has occurred or not.
Kojto 96:487b796308b0 284 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 285 * @param __INTERRUPT__: specifies the RTC Second interrupt sources to be enabled or disabled.
Kojto 96:487b796308b0 286 * This parameter can be:
Kojto 96:487b796308b0 287 * @arg RTC_IT_SEC: Second A interrupt
Kojto 96:487b796308b0 288 * @retval None
Kojto 96:487b796308b0 289 */
Kojto 96:487b796308b0 290 #define __HAL_RTC_SECOND_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((__HANDLE__)->Instance->CRH)& ((__INTERRUPT__)))) != RESET)? SET : RESET)
Kojto 96:487b796308b0 291
Kojto 96:487b796308b0 292 /**
Kojto 96:487b796308b0 293 * @brief Get the selected RTC Second's flag status.
Kojto 96:487b796308b0 294 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 295 * @param __FLAG__: specifies the RTC Second Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 296 * This parameter can be:
Kojto 96:487b796308b0 297 * @arg RTC_FLAG_SEC
Kojto 96:487b796308b0 298 * @retval None
Kojto 96:487b796308b0 299 */
Kojto 96:487b796308b0 300 #define __HAL_RTC_SECOND_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->CRL) & (__FLAG__)) != RESET)? SET : RESET)
Kojto 96:487b796308b0 301
Kojto 96:487b796308b0 302 /**
Kojto 96:487b796308b0 303 * @brief Clear the RTC Second's pending flags.
Kojto 96:487b796308b0 304 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 305 * @param __FLAG__: specifies the RTC Second Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 306 * This parameter can be:
Kojto 96:487b796308b0 307 * @arg RTC_FLAG_SEC
Kojto 96:487b796308b0 308 * @retval None
Kojto 96:487b796308b0 309 */
Kojto 96:487b796308b0 310 #define __HAL_RTC_SECOND_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CRL) = ~(__FLAG__)
Kojto 96:487b796308b0 311
Kojto 96:487b796308b0 312 /**
Kojto 96:487b796308b0 313 * @brief Enable the RTC Overflow interrupt.
Kojto 96:487b796308b0 314 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 315 * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be enabled
Kojto 96:487b796308b0 316 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 317 * @arg RTC_IT_OW: Overflow A interrupt
Kojto 96:487b796308b0 318 * @retval None
Kojto 96:487b796308b0 319 */
Kojto 96:487b796308b0 320 #define __HAL_RTC_OVERFLOW_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__))
Kojto 96:487b796308b0 321
Kojto 96:487b796308b0 322 /**
Kojto 96:487b796308b0 323 * @brief Disable the RTC Overflow interrupt.
Kojto 96:487b796308b0 324 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 325 * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be disabled.
Kojto 96:487b796308b0 326 * This parameter can be any combination of the following values:
Kojto 96:487b796308b0 327 * @arg RTC_IT_OW: Overflow A interrupt
Kojto 96:487b796308b0 328 * @retval None
Kojto 96:487b796308b0 329 */
Kojto 96:487b796308b0 330 #define __HAL_RTC_OVERFLOW_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CRH, (__INTERRUPT__))
Kojto 96:487b796308b0 331
Kojto 96:487b796308b0 332 /**
Kojto 96:487b796308b0 333 * @brief Check whether the specified RTC Overflow interrupt has occurred or not.
Kojto 96:487b796308b0 334 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 335 * @param __INTERRUPT__: specifies the RTC Overflow interrupt sources to be enabled or disabled.
Kojto 96:487b796308b0 336 * This parameter can be:
Kojto 96:487b796308b0 337 * @arg RTC_IT_OW: Overflow A interrupt
Kojto 96:487b796308b0 338 * @retval None
Kojto 96:487b796308b0 339 */
Kojto 96:487b796308b0 340 #define __HAL_RTC_OVERFLOW_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((__HANDLE__)->Instance->CRH)& ((__INTERRUPT__))) ) != RESET)? SET : RESET)
Kojto 96:487b796308b0 341
Kojto 96:487b796308b0 342 /**
Kojto 96:487b796308b0 343 * @brief Get the selected RTC Overflow's flag status.
Kojto 96:487b796308b0 344 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 345 * @param __FLAG__: specifies the RTC Overflow Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 346 * This parameter can be:
Kojto 96:487b796308b0 347 * @arg RTC_FLAG_OW
Kojto 96:487b796308b0 348 * @retval None
Kojto 96:487b796308b0 349 */
Kojto 96:487b796308b0 350 #define __HAL_RTC_OVERFLOW_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->CRL) & (__FLAG__)) != RESET)? SET : RESET)
Kojto 96:487b796308b0 351
Kojto 96:487b796308b0 352 /**
Kojto 96:487b796308b0 353 * @brief Clear the RTC Overflow's pending flags.
Kojto 96:487b796308b0 354 * @param __HANDLE__: specifies the RTC handle.
Kojto 96:487b796308b0 355 * @param __FLAG__: specifies the RTC Overflow Flag sources to be enabled or disabled.
Kojto 96:487b796308b0 356 * This parameter can be:
Kojto 96:487b796308b0 357 * @arg RTC_FLAG_OW
Kojto 96:487b796308b0 358 * @retval None
Kojto 96:487b796308b0 359 */
Kojto 96:487b796308b0 360 #define __HAL_RTC_OVERFLOW_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CRL) = ~(__FLAG__)
Kojto 96:487b796308b0 361
Kojto 96:487b796308b0 362 /**
Kojto 96:487b796308b0 363 * @}
Kojto 96:487b796308b0 364 */
Kojto 96:487b796308b0 365
Kojto 96:487b796308b0 366 /* Exported functions --------------------------------------------------------*/
Kojto 96:487b796308b0 367 /** @addtogroup RTCEx_Exported_Functions
Kojto 96:487b796308b0 368 * @{
Kojto 96:487b796308b0 369 */
Kojto 96:487b796308b0 370
Kojto 96:487b796308b0 371 /* RTC Tamper functions *****************************************/
Kojto 96:487b796308b0 372 /** @addtogroup RTCEx_Exported_Functions_Group1
Kojto 96:487b796308b0 373 * @{
Kojto 96:487b796308b0 374 */
Kojto 96:487b796308b0 375 HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
Kojto 96:487b796308b0 376 HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
Kojto 96:487b796308b0 377 HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper);
Kojto 96:487b796308b0 378 void HAL_RTCEx_TamperIRQHandler(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 379 void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 380 HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
Kojto 96:487b796308b0 381
Kojto 96:487b796308b0 382 /**
Kojto 96:487b796308b0 383 * @}
Kojto 96:487b796308b0 384 */
Kojto 96:487b796308b0 385
Kojto 96:487b796308b0 386 /* RTC Second functions *****************************************/
Kojto 96:487b796308b0 387 /** @addtogroup RTCEx_Exported_Functions_Group2
Kojto 96:487b796308b0 388 * @{
Kojto 96:487b796308b0 389 */
Kojto 96:487b796308b0 390 HAL_StatusTypeDef HAL_RTCEx_SetSecond_IT(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 391 HAL_StatusTypeDef HAL_RTCEx_DeactivateSecond(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 392 void HAL_RTCEx_RTCIRQHandler(RTC_HandleTypeDef* hrtc);
Kojto 96:487b796308b0 393 void HAL_RTCEx_RTCEventCallback(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 394 void HAL_RTCEx_RTCEventErrorCallback(RTC_HandleTypeDef *hrtc);
Kojto 96:487b796308b0 395
Kojto 96:487b796308b0 396 /**
Kojto 96:487b796308b0 397 * @}
Kojto 96:487b796308b0 398 */
Kojto 96:487b796308b0 399
Kojto 96:487b796308b0 400 /* Extension Control functions ************************************************/
Kojto 96:487b796308b0 401 /** @addtogroup RTCEx_Exported_Functions_Group3
Kojto 96:487b796308b0 402 * @{
Kojto 96:487b796308b0 403 */
Kojto 96:487b796308b0 404 void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data);
Kojto 96:487b796308b0 405 uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister);
Kojto 96:487b796308b0 406
Kojto 96:487b796308b0 407 HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef* hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmouthCalibMinusPulsesValue);
Kojto 96:487b796308b0 408 /**
Kojto 96:487b796308b0 409 * @}
Kojto 96:487b796308b0 410 */
Kojto 96:487b796308b0 411
Kojto 96:487b796308b0 412 /**
Kojto 96:487b796308b0 413 * @}
Kojto 96:487b796308b0 414 */
Kojto 96:487b796308b0 415
Kojto 96:487b796308b0 416 /**
Kojto 96:487b796308b0 417 * @}
Kojto 96:487b796308b0 418 */
Kojto 96:487b796308b0 419
Kojto 96:487b796308b0 420 /**
Kojto 96:487b796308b0 421 * @}
Kojto 96:487b796308b0 422 */
Kojto 96:487b796308b0 423
Kojto 96:487b796308b0 424 #ifdef __cplusplus
Kojto 96:487b796308b0 425 }
Kojto 96:487b796308b0 426 #endif
Kojto 96:487b796308b0 427
Kojto 96:487b796308b0 428 #endif /* __STM32F1xx_HAL_RTC_EX_H */
Kojto 96:487b796308b0 429
Kojto 96:487b796308b0 430 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/