mbed SDK library sources

Fork of mbed-src by mbed official

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Jan 30 12:15:05 2014 +0000
Revision:
80:66393a7b209d
Parent:
76:aeb1df146756
Synchronized with git revision dba523f83fe09b7fce11fc1299dd1216e9776359

Full URL: https://github.com/mbedmicro/mbed/commit/dba523f83fe09b7fce11fc1299dd1216e9776359/

Update of I2C, SPI, SLEEP for NUCLEO_F103RB and L152RE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 76:aeb1df146756 1 /**
mbed_official 76:aeb1df146756 2 ******************************************************************************
mbed_official 76:aeb1df146756 3 * @file stm32l1xx_rtc.h
mbed_official 76:aeb1df146756 4 * @author MCD Application Team
mbed_official 80:66393a7b209d 5 * @version V1.3.0
mbed_official 80:66393a7b209d 6 * @date 31-January-2014
mbed_official 76:aeb1df146756 7 * @brief This file contains all the functions prototypes for the RTC firmware
mbed_official 76:aeb1df146756 8 * library.
mbed_official 76:aeb1df146756 9 ******************************************************************************
mbed_official 76:aeb1df146756 10 * @attention
mbed_official 76:aeb1df146756 11 *
mbed_official 80:66393a7b209d 12 * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
mbed_official 76:aeb1df146756 13 *
mbed_official 76:aeb1df146756 14 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
mbed_official 76:aeb1df146756 15 * You may not use this file except in compliance with the License.
mbed_official 76:aeb1df146756 16 * You may obtain a copy of the License at:
mbed_official 76:aeb1df146756 17 *
mbed_official 76:aeb1df146756 18 * http://www.st.com/software_license_agreement_liberty_v2
mbed_official 76:aeb1df146756 19 *
mbed_official 76:aeb1df146756 20 * Unless required by applicable law or agreed to in writing, software
mbed_official 76:aeb1df146756 21 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 76:aeb1df146756 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 76:aeb1df146756 23 * See the License for the specific language governing permissions and
mbed_official 76:aeb1df146756 24 * limitations under the License.
mbed_official 76:aeb1df146756 25 *
mbed_official 76:aeb1df146756 26 ******************************************************************************
mbed_official 76:aeb1df146756 27 */
mbed_official 76:aeb1df146756 28
mbed_official 76:aeb1df146756 29 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 76:aeb1df146756 30 #ifndef __STM32L1xx_RTC_H
mbed_official 76:aeb1df146756 31 #define __STM32L1xx_RTC_H
mbed_official 76:aeb1df146756 32
mbed_official 76:aeb1df146756 33 #ifdef __cplusplus
mbed_official 76:aeb1df146756 34 extern "C" {
mbed_official 76:aeb1df146756 35 #endif
mbed_official 76:aeb1df146756 36
mbed_official 76:aeb1df146756 37 /* Includes ------------------------------------------------------------------*/
mbed_official 76:aeb1df146756 38 #include "stm32l1xx.h"
mbed_official 76:aeb1df146756 39
mbed_official 76:aeb1df146756 40 /** @addtogroup STM32L1xx_StdPeriph_Driver
mbed_official 76:aeb1df146756 41 * @{
mbed_official 76:aeb1df146756 42 */
mbed_official 76:aeb1df146756 43
mbed_official 76:aeb1df146756 44 /** @addtogroup RTC
mbed_official 76:aeb1df146756 45 * @{
mbed_official 76:aeb1df146756 46 */
mbed_official 76:aeb1df146756 47
mbed_official 76:aeb1df146756 48 /* Exported types ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 49
mbed_official 76:aeb1df146756 50 /**
mbed_official 76:aeb1df146756 51 * @brief RTC Init structures definition
mbed_official 76:aeb1df146756 52 */
mbed_official 76:aeb1df146756 53 typedef struct
mbed_official 76:aeb1df146756 54 {
mbed_official 76:aeb1df146756 55 uint32_t RTC_HourFormat; /*!< Specifies the RTC Hour Format.
mbed_official 76:aeb1df146756 56 This parameter can be a value of @ref RTC_Hour_Formats */
mbed_official 76:aeb1df146756 57
mbed_official 76:aeb1df146756 58 uint32_t RTC_AsynchPrediv; /*!< Specifies the RTC Asynchronous Predivider value.
mbed_official 76:aeb1df146756 59 This parameter must be set to a value lower than 0x7F */
mbed_official 76:aeb1df146756 60
mbed_official 76:aeb1df146756 61 uint32_t RTC_SynchPrediv; /*!< Specifies the RTC Synchronous Predivider value.
mbed_official 76:aeb1df146756 62 This parameter must be set to a value lower than 0x7FFF */
mbed_official 76:aeb1df146756 63 }RTC_InitTypeDef;
mbed_official 76:aeb1df146756 64
mbed_official 76:aeb1df146756 65 /**
mbed_official 76:aeb1df146756 66 * @brief RTC Time structure definition
mbed_official 76:aeb1df146756 67 */
mbed_official 76:aeb1df146756 68 typedef struct
mbed_official 76:aeb1df146756 69 {
mbed_official 76:aeb1df146756 70 uint8_t RTC_Hours; /*!< Specifies the RTC Time Hour.
mbed_official 76:aeb1df146756 71 This parameter must be set to a value in the 0-12 range
mbed_official 76:aeb1df146756 72 if the RTC_HourFormat_12 is selected or 0-23 range if
mbed_official 76:aeb1df146756 73 the RTC_HourFormat_24 is selected. */
mbed_official 76:aeb1df146756 74
mbed_official 76:aeb1df146756 75 uint8_t RTC_Minutes; /*!< Specifies the RTC Time Minutes.
mbed_official 76:aeb1df146756 76 This parameter must be set to a value in the 0-59 range. */
mbed_official 76:aeb1df146756 77
mbed_official 76:aeb1df146756 78 uint8_t RTC_Seconds; /*!< Specifies the RTC Time Seconds.
mbed_official 76:aeb1df146756 79 This parameter must be set to a value in the 0-59 range. */
mbed_official 76:aeb1df146756 80
mbed_official 76:aeb1df146756 81 uint8_t RTC_H12; /*!< Specifies the RTC AM/PM Time.
mbed_official 76:aeb1df146756 82 This parameter can be a value of @ref RTC_AM_PM_Definitions */
mbed_official 76:aeb1df146756 83 }RTC_TimeTypeDef;
mbed_official 76:aeb1df146756 84
mbed_official 76:aeb1df146756 85 /**
mbed_official 76:aeb1df146756 86 * @brief RTC Date structure definition
mbed_official 76:aeb1df146756 87 */
mbed_official 76:aeb1df146756 88 typedef struct
mbed_official 76:aeb1df146756 89 {
mbed_official 76:aeb1df146756 90 uint8_t RTC_WeekDay; /*!< Specifies the RTC Date WeekDay.
mbed_official 76:aeb1df146756 91 This parameter can be a value of @ref RTC_WeekDay_Definitions */
mbed_official 76:aeb1df146756 92
mbed_official 76:aeb1df146756 93 uint8_t RTC_Month; /*!< Specifies the RTC Date Month (in BCD format).
mbed_official 76:aeb1df146756 94 This parameter can be a value of @ref RTC_Month_Date_Definitions */
mbed_official 76:aeb1df146756 95
mbed_official 76:aeb1df146756 96 uint8_t RTC_Date; /*!< Specifies the RTC Date.
mbed_official 76:aeb1df146756 97 This parameter must be set to a value in the 1-31 range. */
mbed_official 76:aeb1df146756 98
mbed_official 76:aeb1df146756 99 uint8_t RTC_Year; /*!< Specifies the RTC Date Year.
mbed_official 76:aeb1df146756 100 This parameter must be set to a value in the 0-99 range. */
mbed_official 76:aeb1df146756 101 }RTC_DateTypeDef;
mbed_official 76:aeb1df146756 102
mbed_official 76:aeb1df146756 103 /**
mbed_official 76:aeb1df146756 104 * @brief RTC Alarm structure definition
mbed_official 76:aeb1df146756 105 */
mbed_official 76:aeb1df146756 106 typedef struct
mbed_official 76:aeb1df146756 107 {
mbed_official 76:aeb1df146756 108 RTC_TimeTypeDef RTC_AlarmTime; /*!< Specifies the RTC Alarm Time members. */
mbed_official 76:aeb1df146756 109
mbed_official 76:aeb1df146756 110 uint32_t RTC_AlarmMask; /*!< Specifies the RTC Alarm Masks.
mbed_official 76:aeb1df146756 111 This parameter can be a value of @ref RTC_AlarmMask_Definitions */
mbed_official 76:aeb1df146756 112
mbed_official 76:aeb1df146756 113 uint32_t RTC_AlarmDateWeekDaySel; /*!< Specifies the RTC Alarm is on Date or WeekDay.
mbed_official 76:aeb1df146756 114 This parameter can be a value of @ref RTC_AlarmDateWeekDay_Definitions */
mbed_official 76:aeb1df146756 115
mbed_official 76:aeb1df146756 116 uint8_t RTC_AlarmDateWeekDay; /*!< Specifies the RTC Alarm Date/WeekDay.
mbed_official 76:aeb1df146756 117 If the Alarm Date is selected, this parameter
mbed_official 76:aeb1df146756 118 must be set to a value in the 1-31 range.
mbed_official 76:aeb1df146756 119 If the Alarm WeekDay is selected, this
mbed_official 76:aeb1df146756 120 parameter can be a value of @ref RTC_WeekDay_Definitions */
mbed_official 76:aeb1df146756 121 }RTC_AlarmTypeDef;
mbed_official 76:aeb1df146756 122
mbed_official 76:aeb1df146756 123 /* Exported constants --------------------------------------------------------*/
mbed_official 76:aeb1df146756 124
mbed_official 76:aeb1df146756 125 /** @defgroup RTC_Exported_Constants
mbed_official 76:aeb1df146756 126 * @{
mbed_official 76:aeb1df146756 127 */
mbed_official 76:aeb1df146756 128
mbed_official 76:aeb1df146756 129
mbed_official 76:aeb1df146756 130 /** @defgroup RTC_Hour_Formats
mbed_official 76:aeb1df146756 131 * @{
mbed_official 76:aeb1df146756 132 */
mbed_official 76:aeb1df146756 133 #define RTC_HourFormat_24 ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 134 #define RTC_HourFormat_12 ((uint32_t)0x00000040)
mbed_official 76:aeb1df146756 135 #define IS_RTC_HOUR_FORMAT(FORMAT) (((FORMAT) == RTC_HourFormat_12) || \
mbed_official 76:aeb1df146756 136 ((FORMAT) == RTC_HourFormat_24))
mbed_official 76:aeb1df146756 137 /**
mbed_official 76:aeb1df146756 138 * @}
mbed_official 76:aeb1df146756 139 */
mbed_official 76:aeb1df146756 140
mbed_official 76:aeb1df146756 141 /** @defgroup RTC_Asynchronous_Predivider
mbed_official 76:aeb1df146756 142 * @{
mbed_official 76:aeb1df146756 143 */
mbed_official 76:aeb1df146756 144 #define IS_RTC_ASYNCH_PREDIV(PREDIV) ((PREDIV) <= 0x7F)
mbed_official 76:aeb1df146756 145
mbed_official 76:aeb1df146756 146 /**
mbed_official 76:aeb1df146756 147 * @}
mbed_official 76:aeb1df146756 148 */
mbed_official 76:aeb1df146756 149
mbed_official 76:aeb1df146756 150
mbed_official 76:aeb1df146756 151 /** @defgroup RTC_Synchronous_Predivider
mbed_official 76:aeb1df146756 152 * @{
mbed_official 76:aeb1df146756 153 */
mbed_official 76:aeb1df146756 154 #define IS_RTC_SYNCH_PREDIV(PREDIV) ((PREDIV) <= 0x7FFF)
mbed_official 76:aeb1df146756 155
mbed_official 76:aeb1df146756 156 /**
mbed_official 76:aeb1df146756 157 * @}
mbed_official 76:aeb1df146756 158 */
mbed_official 76:aeb1df146756 159
mbed_official 76:aeb1df146756 160 /** @defgroup RTC_Time_Definitions
mbed_official 76:aeb1df146756 161 * @{
mbed_official 76:aeb1df146756 162 */
mbed_official 76:aeb1df146756 163 #define IS_RTC_HOUR12(HOUR) (((HOUR) > 0) && ((HOUR) <= 12))
mbed_official 76:aeb1df146756 164 #define IS_RTC_HOUR24(HOUR) ((HOUR) <= 23)
mbed_official 76:aeb1df146756 165 #define IS_RTC_MINUTES(MINUTES) ((MINUTES) <= 59)
mbed_official 76:aeb1df146756 166 #define IS_RTC_SECONDS(SECONDS) ((SECONDS) <= 59)
mbed_official 76:aeb1df146756 167
mbed_official 76:aeb1df146756 168 /**
mbed_official 76:aeb1df146756 169 * @}
mbed_official 76:aeb1df146756 170 */
mbed_official 76:aeb1df146756 171
mbed_official 76:aeb1df146756 172 /** @defgroup RTC_AM_PM_Definitions
mbed_official 76:aeb1df146756 173 * @{
mbed_official 76:aeb1df146756 174 */
mbed_official 76:aeb1df146756 175 #define RTC_H12_AM ((uint8_t)0x00)
mbed_official 76:aeb1df146756 176 #define RTC_H12_PM ((uint8_t)0x40)
mbed_official 76:aeb1df146756 177 #define IS_RTC_H12(PM) (((PM) == RTC_H12_AM) || ((PM) == RTC_H12_PM))
mbed_official 76:aeb1df146756 178
mbed_official 76:aeb1df146756 179 /**
mbed_official 76:aeb1df146756 180 * @}
mbed_official 76:aeb1df146756 181 */
mbed_official 76:aeb1df146756 182
mbed_official 76:aeb1df146756 183 /** @defgroup RTC_Year_Date_Definitions
mbed_official 76:aeb1df146756 184 * @{
mbed_official 76:aeb1df146756 185 */
mbed_official 76:aeb1df146756 186 #define IS_RTC_YEAR(YEAR) ((YEAR) <= 99)
mbed_official 76:aeb1df146756 187
mbed_official 76:aeb1df146756 188 /**
mbed_official 76:aeb1df146756 189 * @}
mbed_official 76:aeb1df146756 190 */
mbed_official 76:aeb1df146756 191
mbed_official 76:aeb1df146756 192 /** @defgroup RTC_Month_Date_Definitions
mbed_official 76:aeb1df146756 193 * @{
mbed_official 76:aeb1df146756 194 */
mbed_official 76:aeb1df146756 195
mbed_official 76:aeb1df146756 196 /* Coded in BCD format */
mbed_official 76:aeb1df146756 197 #define RTC_Month_January ((uint8_t)0x01)
mbed_official 76:aeb1df146756 198 #define RTC_Month_February ((uint8_t)0x02)
mbed_official 76:aeb1df146756 199 #define RTC_Month_March ((uint8_t)0x03)
mbed_official 76:aeb1df146756 200 #define RTC_Month_April ((uint8_t)0x04)
mbed_official 76:aeb1df146756 201 #define RTC_Month_May ((uint8_t)0x05)
mbed_official 76:aeb1df146756 202 #define RTC_Month_June ((uint8_t)0x06)
mbed_official 76:aeb1df146756 203 #define RTC_Month_July ((uint8_t)0x07)
mbed_official 76:aeb1df146756 204 #define RTC_Month_August ((uint8_t)0x08)
mbed_official 76:aeb1df146756 205 #define RTC_Month_September ((uint8_t)0x09)
mbed_official 76:aeb1df146756 206 #define RTC_Month_October ((uint8_t)0x10)
mbed_official 76:aeb1df146756 207 #define RTC_Month_November ((uint8_t)0x11)
mbed_official 76:aeb1df146756 208 #define RTC_Month_December ((uint8_t)0x12)
mbed_official 76:aeb1df146756 209 #define IS_RTC_MONTH(MONTH) (((MONTH) >= 1) && ((MONTH) <= 12))
mbed_official 76:aeb1df146756 210 #define IS_RTC_DATE(DATE) (((DATE) >= 1) && ((DATE) <= 31))
mbed_official 76:aeb1df146756 211
mbed_official 76:aeb1df146756 212 /**
mbed_official 76:aeb1df146756 213 * @}
mbed_official 76:aeb1df146756 214 */
mbed_official 76:aeb1df146756 215
mbed_official 76:aeb1df146756 216 /** @defgroup RTC_WeekDay_Definitions
mbed_official 76:aeb1df146756 217 * @{
mbed_official 76:aeb1df146756 218 */
mbed_official 76:aeb1df146756 219
mbed_official 76:aeb1df146756 220 #define RTC_Weekday_Monday ((uint8_t)0x01)
mbed_official 76:aeb1df146756 221 #define RTC_Weekday_Tuesday ((uint8_t)0x02)
mbed_official 76:aeb1df146756 222 #define RTC_Weekday_Wednesday ((uint8_t)0x03)
mbed_official 76:aeb1df146756 223 #define RTC_Weekday_Thursday ((uint8_t)0x04)
mbed_official 76:aeb1df146756 224 #define RTC_Weekday_Friday ((uint8_t)0x05)
mbed_official 76:aeb1df146756 225 #define RTC_Weekday_Saturday ((uint8_t)0x06)
mbed_official 76:aeb1df146756 226 #define RTC_Weekday_Sunday ((uint8_t)0x07)
mbed_official 76:aeb1df146756 227 #define IS_RTC_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_Weekday_Monday) || \
mbed_official 76:aeb1df146756 228 ((WEEKDAY) == RTC_Weekday_Tuesday) || \
mbed_official 76:aeb1df146756 229 ((WEEKDAY) == RTC_Weekday_Wednesday) || \
mbed_official 76:aeb1df146756 230 ((WEEKDAY) == RTC_Weekday_Thursday) || \
mbed_official 76:aeb1df146756 231 ((WEEKDAY) == RTC_Weekday_Friday) || \
mbed_official 76:aeb1df146756 232 ((WEEKDAY) == RTC_Weekday_Saturday) || \
mbed_official 76:aeb1df146756 233 ((WEEKDAY) == RTC_Weekday_Sunday))
mbed_official 76:aeb1df146756 234 /**
mbed_official 76:aeb1df146756 235 * @}
mbed_official 76:aeb1df146756 236 */
mbed_official 76:aeb1df146756 237
mbed_official 76:aeb1df146756 238
mbed_official 76:aeb1df146756 239 /** @defgroup RTC_Alarm_Definitions
mbed_official 76:aeb1df146756 240 * @{
mbed_official 76:aeb1df146756 241 */
mbed_official 76:aeb1df146756 242 #define IS_RTC_ALARM_DATE_WEEKDAY_DATE(DATE) (((DATE) > 0) && ((DATE) <= 31))
mbed_official 76:aeb1df146756 243 #define IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_Weekday_Monday) || \
mbed_official 76:aeb1df146756 244 ((WEEKDAY) == RTC_Weekday_Tuesday) || \
mbed_official 76:aeb1df146756 245 ((WEEKDAY) == RTC_Weekday_Wednesday) || \
mbed_official 76:aeb1df146756 246 ((WEEKDAY) == RTC_Weekday_Thursday) || \
mbed_official 76:aeb1df146756 247 ((WEEKDAY) == RTC_Weekday_Friday) || \
mbed_official 76:aeb1df146756 248 ((WEEKDAY) == RTC_Weekday_Saturday) || \
mbed_official 76:aeb1df146756 249 ((WEEKDAY) == RTC_Weekday_Sunday))
mbed_official 76:aeb1df146756 250
mbed_official 76:aeb1df146756 251 /**
mbed_official 76:aeb1df146756 252 * @}
mbed_official 76:aeb1df146756 253 */
mbed_official 76:aeb1df146756 254
mbed_official 76:aeb1df146756 255
mbed_official 76:aeb1df146756 256 /** @defgroup RTC_AlarmDateWeekDay_Definitions
mbed_official 76:aeb1df146756 257 * @{
mbed_official 76:aeb1df146756 258 */
mbed_official 76:aeb1df146756 259 #define RTC_AlarmDateWeekDaySel_Date ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 260 #define RTC_AlarmDateWeekDaySel_WeekDay ((uint32_t)0x40000000)
mbed_official 76:aeb1df146756 261
mbed_official 76:aeb1df146756 262 #define IS_RTC_ALARM_DATE_WEEKDAY_SEL(SEL) (((SEL) == RTC_AlarmDateWeekDaySel_Date) || \
mbed_official 76:aeb1df146756 263 ((SEL) == RTC_AlarmDateWeekDaySel_WeekDay))
mbed_official 76:aeb1df146756 264
mbed_official 76:aeb1df146756 265 /**
mbed_official 76:aeb1df146756 266 * @}
mbed_official 76:aeb1df146756 267 */
mbed_official 76:aeb1df146756 268
mbed_official 76:aeb1df146756 269
mbed_official 76:aeb1df146756 270 /** @defgroup RTC_AlarmMask_Definitions
mbed_official 76:aeb1df146756 271 * @{
mbed_official 76:aeb1df146756 272 */
mbed_official 76:aeb1df146756 273 #define RTC_AlarmMask_None ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 274 #define RTC_AlarmMask_DateWeekDay ((uint32_t)0x80000000)
mbed_official 76:aeb1df146756 275 #define RTC_AlarmMask_Hours ((uint32_t)0x00800000)
mbed_official 76:aeb1df146756 276 #define RTC_AlarmMask_Minutes ((uint32_t)0x00008000)
mbed_official 76:aeb1df146756 277 #define RTC_AlarmMask_Seconds ((uint32_t)0x00000080)
mbed_official 76:aeb1df146756 278 #define RTC_AlarmMask_All ((uint32_t)0x80808080)
mbed_official 76:aeb1df146756 279 #define IS_ALARM_MASK(MASK) (((MASK) & 0x7F7F7F7F) == (uint32_t)RESET)
mbed_official 76:aeb1df146756 280
mbed_official 76:aeb1df146756 281 /**
mbed_official 76:aeb1df146756 282 * @}
mbed_official 76:aeb1df146756 283 */
mbed_official 76:aeb1df146756 284
mbed_official 76:aeb1df146756 285 /** @defgroup RTC_Alarms_Definitions
mbed_official 76:aeb1df146756 286 * @{
mbed_official 76:aeb1df146756 287 */
mbed_official 76:aeb1df146756 288 #define RTC_Alarm_A ((uint32_t)0x00000100)
mbed_official 76:aeb1df146756 289 #define RTC_Alarm_B ((uint32_t)0x00000200)
mbed_official 76:aeb1df146756 290 #define IS_RTC_ALARM(ALARM) (((ALARM) == RTC_Alarm_A) || ((ALARM) == RTC_Alarm_B))
mbed_official 76:aeb1df146756 291 #define IS_RTC_CMD_ALARM(ALARM) (((ALARM) & (RTC_Alarm_A | RTC_Alarm_B)) != (uint32_t)RESET)
mbed_official 76:aeb1df146756 292
mbed_official 76:aeb1df146756 293 /**
mbed_official 76:aeb1df146756 294 * @}
mbed_official 76:aeb1df146756 295 */
mbed_official 76:aeb1df146756 296
mbed_official 76:aeb1df146756 297 /** @defgroup RTC_Alarm_Sub_Seconds_Masks_Definitions
mbed_official 76:aeb1df146756 298 * @{
mbed_official 76:aeb1df146756 299 */
mbed_official 76:aeb1df146756 300 #define RTC_AlarmSubSecondMask_All ((uint32_t)0x00000000) /*!< All Alarm SS fields are masked.
mbed_official 76:aeb1df146756 301 There is no comparison on sub seconds
mbed_official 76:aeb1df146756 302 for Alarm */
mbed_official 76:aeb1df146756 303 #define RTC_AlarmSubSecondMask_SS14_1 ((uint32_t)0x01000000) /*!< SS[14:1] are don't care in Alarm
mbed_official 76:aeb1df146756 304 comparison. Only SS[0] is compared. */
mbed_official 76:aeb1df146756 305 #define RTC_AlarmSubSecondMask_SS14_2 ((uint32_t)0x02000000) /*!< SS[14:2] are don't care in Alarm
mbed_official 76:aeb1df146756 306 comparison. Only SS[1:0] are compared */
mbed_official 76:aeb1df146756 307 #define RTC_AlarmSubSecondMask_SS14_3 ((uint32_t)0x03000000) /*!< SS[14:3] are don't care in Alarm
mbed_official 76:aeb1df146756 308 comparison. Only SS[2:0] are compared */
mbed_official 76:aeb1df146756 309 #define RTC_AlarmSubSecondMask_SS14_4 ((uint32_t)0x04000000) /*!< SS[14:4] are don't care in Alarm
mbed_official 76:aeb1df146756 310 comparison. Only SS[3:0] are compared */
mbed_official 76:aeb1df146756 311 #define RTC_AlarmSubSecondMask_SS14_5 ((uint32_t)0x05000000) /*!< SS[14:5] are don't care in Alarm
mbed_official 76:aeb1df146756 312 comparison. Only SS[4:0] are compared */
mbed_official 76:aeb1df146756 313 #define RTC_AlarmSubSecondMask_SS14_6 ((uint32_t)0x06000000) /*!< SS[14:6] are don't care in Alarm
mbed_official 76:aeb1df146756 314 comparison. Only SS[5:0] are compared */
mbed_official 76:aeb1df146756 315 #define RTC_AlarmSubSecondMask_SS14_7 ((uint32_t)0x07000000) /*!< SS[14:7] are don't care in Alarm
mbed_official 76:aeb1df146756 316 comparison. Only SS[6:0] are compared */
mbed_official 76:aeb1df146756 317 #define RTC_AlarmSubSecondMask_SS14_8 ((uint32_t)0x08000000) /*!< SS[14:8] are don't care in Alarm
mbed_official 76:aeb1df146756 318 comparison. Only SS[7:0] are compared */
mbed_official 76:aeb1df146756 319 #define RTC_AlarmSubSecondMask_SS14_9 ((uint32_t)0x09000000) /*!< SS[14:9] are don't care in Alarm
mbed_official 76:aeb1df146756 320 comparison. Only SS[8:0] are compared */
mbed_official 76:aeb1df146756 321 #define RTC_AlarmSubSecondMask_SS14_10 ((uint32_t)0x0A000000) /*!< SS[14:10] are don't care in Alarm
mbed_official 76:aeb1df146756 322 comparison. Only SS[9:0] are compared */
mbed_official 76:aeb1df146756 323 #define RTC_AlarmSubSecondMask_SS14_11 ((uint32_t)0x0B000000) /*!< SS[14:11] are don't care in Alarm
mbed_official 76:aeb1df146756 324 comparison. Only SS[10:0] are compared */
mbed_official 76:aeb1df146756 325 #define RTC_AlarmSubSecondMask_SS14_12 ((uint32_t)0x0C000000) /*!< SS[14:12] are don't care in Alarm
mbed_official 76:aeb1df146756 326 comparison.Only SS[11:0] are compared */
mbed_official 76:aeb1df146756 327 #define RTC_AlarmSubSecondMask_SS14_13 ((uint32_t)0x0D000000) /*!< SS[14:13] are don't care in Alarm
mbed_official 76:aeb1df146756 328 comparison. Only SS[12:0] are compared */
mbed_official 76:aeb1df146756 329 #define RTC_AlarmSubSecondMask_SS14 ((uint32_t)0x0E000000) /*!< SS[14] is don't care in Alarm
mbed_official 76:aeb1df146756 330 comparison.Only SS[13:0] are compared */
mbed_official 76:aeb1df146756 331 #define RTC_AlarmSubSecondMask_None ((uint32_t)0x0F000000) /*!< SS[14:0] are compared and must match
mbed_official 76:aeb1df146756 332 to activate alarm. */
mbed_official 76:aeb1df146756 333 #define IS_RTC_ALARM_SUB_SECOND_MASK(MASK) (((MASK) == RTC_AlarmSubSecondMask_All) || \
mbed_official 76:aeb1df146756 334 ((MASK) == RTC_AlarmSubSecondMask_SS14_1) || \
mbed_official 76:aeb1df146756 335 ((MASK) == RTC_AlarmSubSecondMask_SS14_2) || \
mbed_official 76:aeb1df146756 336 ((MASK) == RTC_AlarmSubSecondMask_SS14_3) || \
mbed_official 76:aeb1df146756 337 ((MASK) == RTC_AlarmSubSecondMask_SS14_4) || \
mbed_official 76:aeb1df146756 338 ((MASK) == RTC_AlarmSubSecondMask_SS14_5) || \
mbed_official 76:aeb1df146756 339 ((MASK) == RTC_AlarmSubSecondMask_SS14_6) || \
mbed_official 76:aeb1df146756 340 ((MASK) == RTC_AlarmSubSecondMask_SS14_7) || \
mbed_official 76:aeb1df146756 341 ((MASK) == RTC_AlarmSubSecondMask_SS14_8) || \
mbed_official 76:aeb1df146756 342 ((MASK) == RTC_AlarmSubSecondMask_SS14_9) || \
mbed_official 76:aeb1df146756 343 ((MASK) == RTC_AlarmSubSecondMask_SS14_10) || \
mbed_official 76:aeb1df146756 344 ((MASK) == RTC_AlarmSubSecondMask_SS14_11) || \
mbed_official 76:aeb1df146756 345 ((MASK) == RTC_AlarmSubSecondMask_SS14_12) || \
mbed_official 76:aeb1df146756 346 ((MASK) == RTC_AlarmSubSecondMask_SS14_13) || \
mbed_official 76:aeb1df146756 347 ((MASK) == RTC_AlarmSubSecondMask_SS14) || \
mbed_official 76:aeb1df146756 348 ((MASK) == RTC_AlarmSubSecondMask_None))
mbed_official 76:aeb1df146756 349 /**
mbed_official 76:aeb1df146756 350 * @}
mbed_official 76:aeb1df146756 351 */
mbed_official 76:aeb1df146756 352
mbed_official 76:aeb1df146756 353 /** @defgroup RTC_Alarm_Sub_Seconds_Value
mbed_official 76:aeb1df146756 354 * @{
mbed_official 76:aeb1df146756 355 */
mbed_official 76:aeb1df146756 356
mbed_official 76:aeb1df146756 357 #define IS_RTC_ALARM_SUB_SECOND_VALUE(VALUE) ((VALUE) <= 0x00007FFF)
mbed_official 76:aeb1df146756 358
mbed_official 76:aeb1df146756 359 /**
mbed_official 76:aeb1df146756 360 * @}
mbed_official 76:aeb1df146756 361 */
mbed_official 76:aeb1df146756 362
mbed_official 76:aeb1df146756 363 /** @defgroup RTC_Wakeup_Timer_Definitions
mbed_official 76:aeb1df146756 364 * @{
mbed_official 76:aeb1df146756 365 */
mbed_official 76:aeb1df146756 366 #define RTC_WakeUpClock_RTCCLK_Div16 ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 367 #define RTC_WakeUpClock_RTCCLK_Div8 ((uint32_t)0x00000001)
mbed_official 76:aeb1df146756 368 #define RTC_WakeUpClock_RTCCLK_Div4 ((uint32_t)0x00000002)
mbed_official 76:aeb1df146756 369 #define RTC_WakeUpClock_RTCCLK_Div2 ((uint32_t)0x00000003)
mbed_official 76:aeb1df146756 370 #define RTC_WakeUpClock_CK_SPRE_16bits ((uint32_t)0x00000004)
mbed_official 76:aeb1df146756 371 #define RTC_WakeUpClock_CK_SPRE_17bits ((uint32_t)0x00000006)
mbed_official 76:aeb1df146756 372 #define IS_RTC_WAKEUP_CLOCK(CLOCK) (((CLOCK) == RTC_WakeUpClock_RTCCLK_Div16) || \
mbed_official 76:aeb1df146756 373 ((CLOCK) == RTC_WakeUpClock_RTCCLK_Div8) || \
mbed_official 76:aeb1df146756 374 ((CLOCK) == RTC_WakeUpClock_RTCCLK_Div4) || \
mbed_official 76:aeb1df146756 375 ((CLOCK) == RTC_WakeUpClock_RTCCLK_Div2) || \
mbed_official 76:aeb1df146756 376 ((CLOCK) == RTC_WakeUpClock_CK_SPRE_16bits) || \
mbed_official 76:aeb1df146756 377 ((CLOCK) == RTC_WakeUpClock_CK_SPRE_17bits))
mbed_official 76:aeb1df146756 378 #define IS_RTC_WAKEUP_COUNTER(COUNTER) ((COUNTER) <= 0xFFFF)
mbed_official 76:aeb1df146756 379 /**
mbed_official 76:aeb1df146756 380 * @}
mbed_official 76:aeb1df146756 381 */
mbed_official 76:aeb1df146756 382
mbed_official 76:aeb1df146756 383 /** @defgroup RTC_Time_Stamp_Edges_definitions
mbed_official 76:aeb1df146756 384 * @{
mbed_official 76:aeb1df146756 385 */
mbed_official 76:aeb1df146756 386 #define RTC_TimeStampEdge_Rising ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 387 #define RTC_TimeStampEdge_Falling ((uint32_t)0x00000008)
mbed_official 76:aeb1df146756 388 #define IS_RTC_TIMESTAMP_EDGE(EDGE) (((EDGE) == RTC_TimeStampEdge_Rising) || \
mbed_official 76:aeb1df146756 389 ((EDGE) == RTC_TimeStampEdge_Falling))
mbed_official 76:aeb1df146756 390 /**
mbed_official 76:aeb1df146756 391 * @}
mbed_official 76:aeb1df146756 392 */
mbed_official 76:aeb1df146756 393
mbed_official 76:aeb1df146756 394 /** @defgroup RTC_Output_selection_Definitions
mbed_official 76:aeb1df146756 395 * @{
mbed_official 76:aeb1df146756 396 */
mbed_official 76:aeb1df146756 397 #define RTC_Output_Disable ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 398 #define RTC_Output_AlarmA ((uint32_t)0x00200000)
mbed_official 76:aeb1df146756 399 #define RTC_Output_AlarmB ((uint32_t)0x00400000)
mbed_official 76:aeb1df146756 400 #define RTC_Output_WakeUp ((uint32_t)0x00600000)
mbed_official 76:aeb1df146756 401
mbed_official 76:aeb1df146756 402 #define IS_RTC_OUTPUT(OUTPUT) (((OUTPUT) == RTC_Output_Disable) || \
mbed_official 76:aeb1df146756 403 ((OUTPUT) == RTC_Output_AlarmA) || \
mbed_official 76:aeb1df146756 404 ((OUTPUT) == RTC_Output_AlarmB) || \
mbed_official 76:aeb1df146756 405 ((OUTPUT) == RTC_Output_WakeUp))
mbed_official 76:aeb1df146756 406
mbed_official 76:aeb1df146756 407 /**
mbed_official 76:aeb1df146756 408 * @}
mbed_official 76:aeb1df146756 409 */
mbed_official 76:aeb1df146756 410
mbed_official 76:aeb1df146756 411 /** @defgroup RTC_Output_Polarity_Definitions
mbed_official 76:aeb1df146756 412 * @{
mbed_official 76:aeb1df146756 413 */
mbed_official 76:aeb1df146756 414 #define RTC_OutputPolarity_High ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 415 #define RTC_OutputPolarity_Low ((uint32_t)0x00100000)
mbed_official 76:aeb1df146756 416 #define IS_RTC_OUTPUT_POL(POL) (((POL) == RTC_OutputPolarity_High) || \
mbed_official 76:aeb1df146756 417 ((POL) == RTC_OutputPolarity_Low))
mbed_official 76:aeb1df146756 418 /**
mbed_official 76:aeb1df146756 419 * @}
mbed_official 76:aeb1df146756 420 */
mbed_official 76:aeb1df146756 421
mbed_official 76:aeb1df146756 422 /** @defgroup RTC_Coarse_Calibration_Definitions
mbed_official 76:aeb1df146756 423 * @{
mbed_official 76:aeb1df146756 424 */
mbed_official 76:aeb1df146756 425 #define RTC_CalibSign_Positive ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 426 #define RTC_CalibSign_Negative ((uint32_t)0x00000080)
mbed_official 76:aeb1df146756 427 #define IS_RTC_CALIB_SIGN(SIGN) (((SIGN) == RTC_CalibSign_Positive) || \
mbed_official 76:aeb1df146756 428 ((SIGN) == RTC_CalibSign_Negative))
mbed_official 76:aeb1df146756 429 #define IS_RTC_CALIB_VALUE(VALUE) ((VALUE) < 0x20)
mbed_official 76:aeb1df146756 430
mbed_official 76:aeb1df146756 431 /**
mbed_official 76:aeb1df146756 432 * @}
mbed_official 76:aeb1df146756 433 */
mbed_official 76:aeb1df146756 434
mbed_official 76:aeb1df146756 435 /** @defgroup RTC_Calib_Output_selection_Definitions
mbed_official 76:aeb1df146756 436 * @{
mbed_official 76:aeb1df146756 437 */
mbed_official 76:aeb1df146756 438 #define RTC_CalibOutput_512Hz ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 439 #define RTC_CalibOutput_1Hz ((uint32_t)0x00080000)
mbed_official 76:aeb1df146756 440 #define IS_RTC_CALIB_OUTPUT(OUTPUT) (((OUTPUT) == RTC_CalibOutput_512Hz) || \
mbed_official 76:aeb1df146756 441 ((OUTPUT) == RTC_CalibOutput_1Hz))
mbed_official 76:aeb1df146756 442 /**
mbed_official 76:aeb1df146756 443 * @}
mbed_official 76:aeb1df146756 444 */
mbed_official 76:aeb1df146756 445
mbed_official 76:aeb1df146756 446 /** @defgroup RTC_Smooth_calib_period_Definitions
mbed_official 76:aeb1df146756 447 * @{
mbed_official 76:aeb1df146756 448 */
mbed_official 76:aeb1df146756 449 #define RTC_SmoothCalibPeriod_32sec ((uint32_t)0x00000000) /*!< if RTCCLK = 32768 Hz, Smooth calibation
mbed_official 76:aeb1df146756 450 period is 32s, else 2exp20 RTCCLK seconds */
mbed_official 76:aeb1df146756 451 #define RTC_SmoothCalibPeriod_16sec ((uint32_t)0x00002000) /*!< if RTCCLK = 32768 Hz, Smooth calibation
mbed_official 76:aeb1df146756 452 period is 16s, else 2exp19 RTCCLK seconds */
mbed_official 76:aeb1df146756 453 #define RTC_SmoothCalibPeriod_8sec ((uint32_t)0x00004000) /*!< if RTCCLK = 32768 Hz, Smooth calibation
mbed_official 76:aeb1df146756 454 period is 8s, else 2exp18 RTCCLK seconds */
mbed_official 76:aeb1df146756 455 #define IS_RTC_SMOOTH_CALIB_PERIOD(PERIOD) (((PERIOD) == RTC_SmoothCalibPeriod_32sec) || \
mbed_official 76:aeb1df146756 456 ((PERIOD) == RTC_SmoothCalibPeriod_16sec) || \
mbed_official 76:aeb1df146756 457 ((PERIOD) == RTC_SmoothCalibPeriod_8sec))
mbed_official 76:aeb1df146756 458
mbed_official 76:aeb1df146756 459 /**
mbed_official 76:aeb1df146756 460 * @}
mbed_official 76:aeb1df146756 461 */
mbed_official 76:aeb1df146756 462
mbed_official 76:aeb1df146756 463 /** @defgroup RTC_Smooth_calib_Plus_pulses_Definitions
mbed_official 76:aeb1df146756 464 * @{
mbed_official 76:aeb1df146756 465 */
mbed_official 76:aeb1df146756 466 #define RTC_SmoothCalibPlusPulses_Set ((uint32_t)0x00008000) /*!< The number of RTCCLK pulses added
mbed_official 76:aeb1df146756 467 during a X -second window = Y - CALM[8:0].
mbed_official 76:aeb1df146756 468 with Y = 512, 256, 128 when X = 32, 16, 8 */
mbed_official 76:aeb1df146756 469 #define RTC_SmoothCalibPlusPulses_Reset ((uint32_t)0x00000000) /*!< The number of RTCCLK pulses subbstited
mbed_official 76:aeb1df146756 470 during a 32-second window = CALM[8:0]. */
mbed_official 76:aeb1df146756 471 #define IS_RTC_SMOOTH_CALIB_PLUS(PLUS) (((PLUS) == RTC_SmoothCalibPlusPulses_Set) || \
mbed_official 76:aeb1df146756 472 ((PLUS) == RTC_SmoothCalibPlusPulses_Reset))
mbed_official 76:aeb1df146756 473
mbed_official 76:aeb1df146756 474 /**
mbed_official 76:aeb1df146756 475 * @}
mbed_official 76:aeb1df146756 476 */
mbed_official 76:aeb1df146756 477
mbed_official 76:aeb1df146756 478 /** @defgroup RTC_Smooth_calib_Minus_pulses_Definitions
mbed_official 76:aeb1df146756 479 * @{
mbed_official 76:aeb1df146756 480 */
mbed_official 76:aeb1df146756 481 #define IS_RTC_SMOOTH_CALIB_MINUS(VALUE) ((VALUE) <= 0x000001FF)
mbed_official 76:aeb1df146756 482
mbed_official 76:aeb1df146756 483 /**
mbed_official 76:aeb1df146756 484 * @}
mbed_official 76:aeb1df146756 485 */
mbed_official 76:aeb1df146756 486
mbed_official 76:aeb1df146756 487 /** @defgroup RTC_DayLightSaving_Definitions
mbed_official 76:aeb1df146756 488 * @{
mbed_official 76:aeb1df146756 489 */
mbed_official 76:aeb1df146756 490 #define RTC_DayLightSaving_SUB1H ((uint32_t)0x00020000)
mbed_official 76:aeb1df146756 491 #define RTC_DayLightSaving_ADD1H ((uint32_t)0x00010000)
mbed_official 76:aeb1df146756 492 #define IS_RTC_DAYLIGHT_SAVING(SAVE) (((SAVE) == RTC_DayLightSaving_SUB1H) || \
mbed_official 76:aeb1df146756 493 ((SAVE) == RTC_DayLightSaving_ADD1H))
mbed_official 76:aeb1df146756 494
mbed_official 76:aeb1df146756 495 #define RTC_StoreOperation_Reset ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 496 #define RTC_StoreOperation_Set ((uint32_t)0x00040000)
mbed_official 76:aeb1df146756 497 #define IS_RTC_STORE_OPERATION(OPERATION) (((OPERATION) == RTC_StoreOperation_Reset) || \
mbed_official 76:aeb1df146756 498 ((OPERATION) == RTC_StoreOperation_Set))
mbed_official 76:aeb1df146756 499 /**
mbed_official 76:aeb1df146756 500 * @}
mbed_official 76:aeb1df146756 501 */
mbed_official 76:aeb1df146756 502
mbed_official 76:aeb1df146756 503 /** @defgroup RTC_Tamper_Trigger_Definitions
mbed_official 76:aeb1df146756 504 * @{
mbed_official 76:aeb1df146756 505 */
mbed_official 76:aeb1df146756 506 #define RTC_TamperTrigger_RisingEdge ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 507 #define RTC_TamperTrigger_FallingEdge ((uint32_t)0x00000001)
mbed_official 76:aeb1df146756 508 #define RTC_TamperTrigger_LowLevel ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 509 #define RTC_TamperTrigger_HighLevel ((uint32_t)0x00000001)
mbed_official 76:aeb1df146756 510 #define IS_RTC_TAMPER_TRIGGER(TRIGGER) (((TRIGGER) == RTC_TamperTrigger_RisingEdge) || \
mbed_official 76:aeb1df146756 511 ((TRIGGER) == RTC_TamperTrigger_FallingEdge) || \
mbed_official 76:aeb1df146756 512 ((TRIGGER) == RTC_TamperTrigger_LowLevel) || \
mbed_official 76:aeb1df146756 513 ((TRIGGER) == RTC_TamperTrigger_HighLevel))
mbed_official 76:aeb1df146756 514
mbed_official 76:aeb1df146756 515 /**
mbed_official 76:aeb1df146756 516 * @}
mbed_official 76:aeb1df146756 517 */
mbed_official 76:aeb1df146756 518
mbed_official 76:aeb1df146756 519 /** @defgroup RTC_Tamper_Filter_Definitions
mbed_official 76:aeb1df146756 520 * @{
mbed_official 76:aeb1df146756 521 */
mbed_official 76:aeb1df146756 522 #define RTC_TamperFilter_Disable ((uint32_t)0x00000000) /*!< Tamper filter is disabled */
mbed_official 76:aeb1df146756 523
mbed_official 76:aeb1df146756 524 #define RTC_TamperFilter_2Sample ((uint32_t)0x00000800) /*!< Tamper is activated after 2
mbed_official 76:aeb1df146756 525 consecutive samples at the active level */
mbed_official 76:aeb1df146756 526 #define RTC_TamperFilter_4Sample ((uint32_t)0x00001000) /*!< Tamper is activated after 4
mbed_official 76:aeb1df146756 527 consecutive samples at the active level */
mbed_official 76:aeb1df146756 528 #define RTC_TamperFilter_8Sample ((uint32_t)0x00001800) /*!< Tamper is activated after 8
mbed_official 76:aeb1df146756 529 consecutive samples at the active leve. */
mbed_official 76:aeb1df146756 530 #define IS_RTC_TAMPER_FILTER(FILTER) (((FILTER) == RTC_TamperFilter_Disable) || \
mbed_official 76:aeb1df146756 531 ((FILTER) == RTC_TamperFilter_2Sample) || \
mbed_official 76:aeb1df146756 532 ((FILTER) == RTC_TamperFilter_4Sample) || \
mbed_official 76:aeb1df146756 533 ((FILTER) == RTC_TamperFilter_8Sample))
mbed_official 76:aeb1df146756 534 /**
mbed_official 76:aeb1df146756 535 * @}
mbed_official 76:aeb1df146756 536 */
mbed_official 76:aeb1df146756 537
mbed_official 76:aeb1df146756 538 /** @defgroup RTC_Tamper_Sampling_Frequencies_Definitions
mbed_official 76:aeb1df146756 539 * @{
mbed_official 76:aeb1df146756 540 */
mbed_official 76:aeb1df146756 541 #define RTC_TamperSamplingFreq_RTCCLK_Div32768 ((uint32_t)0x00000000) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 542 with a frequency = RTCCLK / 32768 */
mbed_official 76:aeb1df146756 543 #define RTC_TamperSamplingFreq_RTCCLK_Div16384 ((uint32_t)0x000000100) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 544 with a frequency = RTCCLK / 16384 */
mbed_official 76:aeb1df146756 545 #define RTC_TamperSamplingFreq_RTCCLK_Div8192 ((uint32_t)0x00000200) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 546 with a frequency = RTCCLK / 8192 */
mbed_official 76:aeb1df146756 547 #define RTC_TamperSamplingFreq_RTCCLK_Div4096 ((uint32_t)0x00000300) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 548 with a frequency = RTCCLK / 4096 */
mbed_official 76:aeb1df146756 549 #define RTC_TamperSamplingFreq_RTCCLK_Div2048 ((uint32_t)0x00000400) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 550 with a frequency = RTCCLK / 2048 */
mbed_official 76:aeb1df146756 551 #define RTC_TamperSamplingFreq_RTCCLK_Div1024 ((uint32_t)0x00000500) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 552 with a frequency = RTCCLK / 1024 */
mbed_official 76:aeb1df146756 553 #define RTC_TamperSamplingFreq_RTCCLK_Div512 ((uint32_t)0x00000600) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 554 with a frequency = RTCCLK / 512 */
mbed_official 76:aeb1df146756 555 #define RTC_TamperSamplingFreq_RTCCLK_Div256 ((uint32_t)0x00000700) /*!< Each of the tamper inputs are sampled
mbed_official 76:aeb1df146756 556 with a frequency = RTCCLK / 256 */
mbed_official 76:aeb1df146756 557 #define IS_RTC_TAMPER_SAMPLING_FREQ(FREQ) (((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div32768) || \
mbed_official 76:aeb1df146756 558 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div16384) || \
mbed_official 76:aeb1df146756 559 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div8192) || \
mbed_official 76:aeb1df146756 560 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div4096) || \
mbed_official 76:aeb1df146756 561 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div2048) || \
mbed_official 76:aeb1df146756 562 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div1024) || \
mbed_official 76:aeb1df146756 563 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div512) || \
mbed_official 76:aeb1df146756 564 ((FREQ) ==RTC_TamperSamplingFreq_RTCCLK_Div256))
mbed_official 76:aeb1df146756 565
mbed_official 76:aeb1df146756 566 /**
mbed_official 76:aeb1df146756 567 * @}
mbed_official 76:aeb1df146756 568 */
mbed_official 76:aeb1df146756 569
mbed_official 76:aeb1df146756 570 /** @defgroup RTC_Tamper_Pin_Precharge_Duration_Definitions
mbed_official 76:aeb1df146756 571 * @{
mbed_official 76:aeb1df146756 572 */
mbed_official 76:aeb1df146756 573 #define RTC_TamperPrechargeDuration_1RTCCLK ((uint32_t)0x00000000) /*!< Tamper pins are pre-charged before
mbed_official 76:aeb1df146756 574 sampling during 1 RTCCLK cycle */
mbed_official 76:aeb1df146756 575 #define RTC_TamperPrechargeDuration_2RTCCLK ((uint32_t)0x00002000) /*!< Tamper pins are pre-charged before
mbed_official 76:aeb1df146756 576 sampling during 2 RTCCLK cycles */
mbed_official 76:aeb1df146756 577 #define RTC_TamperPrechargeDuration_4RTCCLK ((uint32_t)0x00004000) /*!< Tamper pins are pre-charged before
mbed_official 76:aeb1df146756 578 sampling during 4 RTCCLK cycles */
mbed_official 76:aeb1df146756 579 #define RTC_TamperPrechargeDuration_8RTCCLK ((uint32_t)0x00006000) /*!< Tamper pins are pre-charged before
mbed_official 76:aeb1df146756 580 sampling during 8 RTCCLK cycles */
mbed_official 76:aeb1df146756 581
mbed_official 76:aeb1df146756 582 #define IS_RTC_TAMPER_PRECHARGE_DURATION(DURATION) (((DURATION) == RTC_TamperPrechargeDuration_1RTCCLK) || \
mbed_official 76:aeb1df146756 583 ((DURATION) == RTC_TamperPrechargeDuration_2RTCCLK) || \
mbed_official 76:aeb1df146756 584 ((DURATION) == RTC_TamperPrechargeDuration_4RTCCLK) || \
mbed_official 76:aeb1df146756 585 ((DURATION) == RTC_TamperPrechargeDuration_8RTCCLK))
mbed_official 76:aeb1df146756 586 /**
mbed_official 76:aeb1df146756 587 * @}
mbed_official 76:aeb1df146756 588 */
mbed_official 76:aeb1df146756 589
mbed_official 76:aeb1df146756 590 /** @defgroup RTC_Tamper_Pins_Definitions
mbed_official 76:aeb1df146756 591 * @{
mbed_official 76:aeb1df146756 592 */
mbed_official 76:aeb1df146756 593 #define RTC_Tamper_1 RTC_TAFCR_TAMP1E /*!< Tamper detection enable for
mbed_official 76:aeb1df146756 594 input tamper 1 */
mbed_official 76:aeb1df146756 595 #define RTC_Tamper_2 RTC_TAFCR_TAMP2E /*!< Tamper detection enable for
mbed_official 76:aeb1df146756 596 input tamper 2 */
mbed_official 76:aeb1df146756 597 #define RTC_Tamper_3 RTC_TAFCR_TAMP3E /*!< Tamper detection enable for
mbed_official 76:aeb1df146756 598 input tamper 3 */
mbed_official 76:aeb1df146756 599
mbed_official 76:aeb1df146756 600 #define IS_RTC_TAMPER(TAMPER) ((((TAMPER) & (uint32_t)0xFFFFFFD6) == 0x00) && ((TAMPER) != (uint32_t)RESET))
mbed_official 76:aeb1df146756 601
mbed_official 76:aeb1df146756 602
mbed_official 76:aeb1df146756 603 /**
mbed_official 76:aeb1df146756 604 * @}
mbed_official 76:aeb1df146756 605 */
mbed_official 76:aeb1df146756 606
mbed_official 76:aeb1df146756 607 /** @defgroup RTC_Output_Type_ALARM_OUT
mbed_official 76:aeb1df146756 608 * @{
mbed_official 76:aeb1df146756 609 */
mbed_official 76:aeb1df146756 610 #define RTC_OutputType_OpenDrain ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 611 #define RTC_OutputType_PushPull ((uint32_t)0x00040000)
mbed_official 76:aeb1df146756 612 #define IS_RTC_OUTPUT_TYPE(TYPE) (((TYPE) == RTC_OutputType_OpenDrain) || \
mbed_official 76:aeb1df146756 613 ((TYPE) == RTC_OutputType_PushPull))
mbed_official 76:aeb1df146756 614
mbed_official 76:aeb1df146756 615 /**
mbed_official 76:aeb1df146756 616 * @}
mbed_official 76:aeb1df146756 617 */
mbed_official 76:aeb1df146756 618
mbed_official 76:aeb1df146756 619 /** @defgroup RTC_Add_1_Second_Parameter_Definitions
mbed_official 76:aeb1df146756 620 * @{
mbed_official 76:aeb1df146756 621 */
mbed_official 76:aeb1df146756 622 #define RTC_ShiftAdd1S_Reset ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 623 #define RTC_ShiftAdd1S_Set ((uint32_t)0x80000000)
mbed_official 76:aeb1df146756 624 #define IS_RTC_SHIFT_ADD1S(SEL) (((SEL) == RTC_ShiftAdd1S_Reset) || \
mbed_official 76:aeb1df146756 625 ((SEL) == RTC_ShiftAdd1S_Set))
mbed_official 76:aeb1df146756 626 /**
mbed_official 76:aeb1df146756 627 * @}
mbed_official 76:aeb1df146756 628 */
mbed_official 76:aeb1df146756 629
mbed_official 76:aeb1df146756 630 /** @defgroup RTC_Substract_Fraction_Of_Second_Value
mbed_official 76:aeb1df146756 631 * @{
mbed_official 76:aeb1df146756 632 */
mbed_official 76:aeb1df146756 633 #define IS_RTC_SHIFT_SUBFS(FS) ((FS) <= 0x00007FFF)
mbed_official 76:aeb1df146756 634
mbed_official 76:aeb1df146756 635 /**
mbed_official 76:aeb1df146756 636 * @}
mbed_official 76:aeb1df146756 637 */
mbed_official 76:aeb1df146756 638
mbed_official 76:aeb1df146756 639 /** @defgroup RTC_Backup_Registers_Definitions
mbed_official 76:aeb1df146756 640 * @{
mbed_official 76:aeb1df146756 641 */
mbed_official 76:aeb1df146756 642
mbed_official 76:aeb1df146756 643 #define RTC_BKP_DR0 ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 644 #define RTC_BKP_DR1 ((uint32_t)0x00000001)
mbed_official 76:aeb1df146756 645 #define RTC_BKP_DR2 ((uint32_t)0x00000002)
mbed_official 76:aeb1df146756 646 #define RTC_BKP_DR3 ((uint32_t)0x00000003)
mbed_official 76:aeb1df146756 647 #define RTC_BKP_DR4 ((uint32_t)0x00000004)
mbed_official 76:aeb1df146756 648 #define RTC_BKP_DR5 ((uint32_t)0x00000005)
mbed_official 76:aeb1df146756 649 #define RTC_BKP_DR6 ((uint32_t)0x00000006)
mbed_official 76:aeb1df146756 650 #define RTC_BKP_DR7 ((uint32_t)0x00000007)
mbed_official 76:aeb1df146756 651 #define RTC_BKP_DR8 ((uint32_t)0x00000008)
mbed_official 76:aeb1df146756 652 #define RTC_BKP_DR9 ((uint32_t)0x00000009)
mbed_official 76:aeb1df146756 653 #define RTC_BKP_DR10 ((uint32_t)0x0000000A)
mbed_official 76:aeb1df146756 654 #define RTC_BKP_DR11 ((uint32_t)0x0000000B)
mbed_official 76:aeb1df146756 655 #define RTC_BKP_DR12 ((uint32_t)0x0000000C)
mbed_official 76:aeb1df146756 656 #define RTC_BKP_DR13 ((uint32_t)0x0000000D)
mbed_official 76:aeb1df146756 657 #define RTC_BKP_DR14 ((uint32_t)0x0000000E)
mbed_official 76:aeb1df146756 658 #define RTC_BKP_DR15 ((uint32_t)0x0000000F)
mbed_official 76:aeb1df146756 659 #define RTC_BKP_DR16 ((uint32_t)0x00000010)
mbed_official 76:aeb1df146756 660 #define RTC_BKP_DR17 ((uint32_t)0x00000011)
mbed_official 76:aeb1df146756 661 #define RTC_BKP_DR18 ((uint32_t)0x00000012)
mbed_official 76:aeb1df146756 662 #define RTC_BKP_DR19 ((uint32_t)0x00000013)
mbed_official 76:aeb1df146756 663 #define RTC_BKP_DR20 ((uint32_t)0x00000014)
mbed_official 76:aeb1df146756 664 #define RTC_BKP_DR21 ((uint32_t)0x00000015)
mbed_official 76:aeb1df146756 665 #define RTC_BKP_DR22 ((uint32_t)0x00000016)
mbed_official 76:aeb1df146756 666 #define RTC_BKP_DR23 ((uint32_t)0x00000017)
mbed_official 76:aeb1df146756 667 #define RTC_BKP_DR24 ((uint32_t)0x00000018)
mbed_official 76:aeb1df146756 668 #define RTC_BKP_DR25 ((uint32_t)0x00000019)
mbed_official 76:aeb1df146756 669 #define RTC_BKP_DR26 ((uint32_t)0x0000001A)
mbed_official 76:aeb1df146756 670 #define RTC_BKP_DR27 ((uint32_t)0x0000001B)
mbed_official 76:aeb1df146756 671 #define RTC_BKP_DR28 ((uint32_t)0x0000001C)
mbed_official 76:aeb1df146756 672 #define RTC_BKP_DR29 ((uint32_t)0x0000001D)
mbed_official 76:aeb1df146756 673 #define RTC_BKP_DR30 ((uint32_t)0x0000001E)
mbed_official 76:aeb1df146756 674 #define RTC_BKP_DR31 ((uint32_t)0x0000001F)
mbed_official 76:aeb1df146756 675 #define IS_RTC_BKP(BKP) (((BKP) == RTC_BKP_DR0) || \
mbed_official 76:aeb1df146756 676 ((BKP) == RTC_BKP_DR1) || \
mbed_official 76:aeb1df146756 677 ((BKP) == RTC_BKP_DR2) || \
mbed_official 76:aeb1df146756 678 ((BKP) == RTC_BKP_DR3) || \
mbed_official 76:aeb1df146756 679 ((BKP) == RTC_BKP_DR4) || \
mbed_official 76:aeb1df146756 680 ((BKP) == RTC_BKP_DR5) || \
mbed_official 76:aeb1df146756 681 ((BKP) == RTC_BKP_DR6) || \
mbed_official 76:aeb1df146756 682 ((BKP) == RTC_BKP_DR7) || \
mbed_official 76:aeb1df146756 683 ((BKP) == RTC_BKP_DR8) || \
mbed_official 76:aeb1df146756 684 ((BKP) == RTC_BKP_DR9) || \
mbed_official 76:aeb1df146756 685 ((BKP) == RTC_BKP_DR10) || \
mbed_official 76:aeb1df146756 686 ((BKP) == RTC_BKP_DR11) || \
mbed_official 76:aeb1df146756 687 ((BKP) == RTC_BKP_DR12) || \
mbed_official 76:aeb1df146756 688 ((BKP) == RTC_BKP_DR13) || \
mbed_official 76:aeb1df146756 689 ((BKP) == RTC_BKP_DR14) || \
mbed_official 76:aeb1df146756 690 ((BKP) == RTC_BKP_DR15) || \
mbed_official 76:aeb1df146756 691 ((BKP) == RTC_BKP_DR16) || \
mbed_official 76:aeb1df146756 692 ((BKP) == RTC_BKP_DR17) || \
mbed_official 76:aeb1df146756 693 ((BKP) == RTC_BKP_DR18) || \
mbed_official 76:aeb1df146756 694 ((BKP) == RTC_BKP_DR19) || \
mbed_official 76:aeb1df146756 695 ((BKP) == RTC_BKP_DR20) || \
mbed_official 76:aeb1df146756 696 ((BKP) == RTC_BKP_DR21) || \
mbed_official 76:aeb1df146756 697 ((BKP) == RTC_BKP_DR22) || \
mbed_official 76:aeb1df146756 698 ((BKP) == RTC_BKP_DR23) || \
mbed_official 76:aeb1df146756 699 ((BKP) == RTC_BKP_DR24) || \
mbed_official 76:aeb1df146756 700 ((BKP) == RTC_BKP_DR25) || \
mbed_official 76:aeb1df146756 701 ((BKP) == RTC_BKP_DR26) || \
mbed_official 76:aeb1df146756 702 ((BKP) == RTC_BKP_DR27) || \
mbed_official 76:aeb1df146756 703 ((BKP) == RTC_BKP_DR28) || \
mbed_official 76:aeb1df146756 704 ((BKP) == RTC_BKP_DR29) || \
mbed_official 76:aeb1df146756 705 ((BKP) == RTC_BKP_DR30) || \
mbed_official 76:aeb1df146756 706 ((BKP) == RTC_BKP_DR31))
mbed_official 76:aeb1df146756 707 /**
mbed_official 76:aeb1df146756 708 * @}
mbed_official 76:aeb1df146756 709 */
mbed_official 76:aeb1df146756 710
mbed_official 76:aeb1df146756 711 /** @defgroup RTC_Input_parameter_format_definitions
mbed_official 76:aeb1df146756 712 * @{
mbed_official 76:aeb1df146756 713 */
mbed_official 76:aeb1df146756 714 #define RTC_Format_BIN ((uint32_t)0x000000000)
mbed_official 76:aeb1df146756 715 #define RTC_Format_BCD ((uint32_t)0x000000001)
mbed_official 76:aeb1df146756 716 #define IS_RTC_FORMAT(FORMAT) (((FORMAT) == RTC_Format_BIN) || ((FORMAT) == RTC_Format_BCD))
mbed_official 76:aeb1df146756 717
mbed_official 76:aeb1df146756 718 /**
mbed_official 76:aeb1df146756 719 * @}
mbed_official 76:aeb1df146756 720 */
mbed_official 76:aeb1df146756 721
mbed_official 76:aeb1df146756 722 /** @defgroup RTC_Flags_Definitions
mbed_official 76:aeb1df146756 723 * @{
mbed_official 76:aeb1df146756 724 */
mbed_official 76:aeb1df146756 725 #define RTC_FLAG_RECALPF ((uint32_t)0x00010000)
mbed_official 76:aeb1df146756 726 #define RTC_FLAG_TAMP3F ((uint32_t)0x00008000)
mbed_official 76:aeb1df146756 727 #define RTC_FLAG_TAMP2F ((uint32_t)0x00004000)
mbed_official 76:aeb1df146756 728 #define RTC_FLAG_TAMP1F ((uint32_t)0x00002000)
mbed_official 76:aeb1df146756 729 #define RTC_FLAG_TSOVF ((uint32_t)0x00001000)
mbed_official 76:aeb1df146756 730 #define RTC_FLAG_TSF ((uint32_t)0x00000800)
mbed_official 76:aeb1df146756 731 #define RTC_FLAG_WUTF ((uint32_t)0x00000400)
mbed_official 76:aeb1df146756 732 #define RTC_FLAG_ALRBF ((uint32_t)0x00000200)
mbed_official 76:aeb1df146756 733 #define RTC_FLAG_ALRAF ((uint32_t)0x00000100)
mbed_official 76:aeb1df146756 734 #define RTC_FLAG_INITF ((uint32_t)0x00000040)
mbed_official 76:aeb1df146756 735 #define RTC_FLAG_RSF ((uint32_t)0x00000020)
mbed_official 76:aeb1df146756 736 #define RTC_FLAG_INITS ((uint32_t)0x00000010)
mbed_official 76:aeb1df146756 737 #define RTC_FLAG_SHPF ((uint32_t)0x00000008)
mbed_official 76:aeb1df146756 738 #define RTC_FLAG_WUTWF ((uint32_t)0x00000004)
mbed_official 76:aeb1df146756 739 #define RTC_FLAG_ALRBWF ((uint32_t)0x00000002)
mbed_official 76:aeb1df146756 740 #define RTC_FLAG_ALRAWF ((uint32_t)0x00000001)
mbed_official 76:aeb1df146756 741 #define IS_RTC_GET_FLAG(FLAG) (((FLAG) == RTC_FLAG_TSOVF) || ((FLAG) == RTC_FLAG_TSF) || \
mbed_official 76:aeb1df146756 742 ((FLAG) == RTC_FLAG_WUTF) || ((FLAG) == RTC_FLAG_ALRBF) || \
mbed_official 76:aeb1df146756 743 ((FLAG) == RTC_FLAG_ALRAF) || ((FLAG) == RTC_FLAG_INITF) || \
mbed_official 76:aeb1df146756 744 ((FLAG) == RTC_FLAG_RSF) || ((FLAG) == RTC_FLAG_WUTWF) || \
mbed_official 76:aeb1df146756 745 ((FLAG) == RTC_FLAG_ALRBWF) || ((FLAG) == RTC_FLAG_ALRAWF) || \
mbed_official 76:aeb1df146756 746 ((FLAG) == RTC_FLAG_TAMP1F) || ((FLAG) == RTC_FLAG_TAMP2F) || \
mbed_official 80:66393a7b209d 747 ((FLAG) == RTC_FLAG_TAMP3F) || ((FLAG) == RTC_FLAG_RECALPF) || \
mbed_official 80:66393a7b209d 748 ((FLAG) == RTC_FLAG_SHPF)|| ((FLAG) == RTC_FLAG_INITS))
mbed_official 76:aeb1df146756 749 #define IS_RTC_CLEAR_FLAG(FLAG) (((FLAG) != (uint32_t)RESET) && (((FLAG) & 0xFFFF00DF) == (uint32_t)RESET))
mbed_official 76:aeb1df146756 750
mbed_official 76:aeb1df146756 751 /**
mbed_official 76:aeb1df146756 752 * @}
mbed_official 76:aeb1df146756 753 */
mbed_official 76:aeb1df146756 754
mbed_official 76:aeb1df146756 755 /** @defgroup RTC_Interrupts_Definitions
mbed_official 76:aeb1df146756 756 * @{
mbed_official 76:aeb1df146756 757 */
mbed_official 76:aeb1df146756 758 #define RTC_IT_TS ((uint32_t)0x00008000)
mbed_official 76:aeb1df146756 759 #define RTC_IT_WUT ((uint32_t)0x00004000)
mbed_official 76:aeb1df146756 760 #define RTC_IT_ALRB ((uint32_t)0x00002000)
mbed_official 76:aeb1df146756 761 #define RTC_IT_ALRA ((uint32_t)0x00001000)
mbed_official 76:aeb1df146756 762 #define RTC_IT_TAMP ((uint32_t)0x00000004) /* Used only to Enable the Tamper Interrupt */
mbed_official 76:aeb1df146756 763 #define RTC_IT_TAMP1 ((uint32_t)0x00020000)
mbed_official 76:aeb1df146756 764 #define RTC_IT_TAMP2 ((uint32_t)0x00040000)
mbed_official 76:aeb1df146756 765 #define RTC_IT_TAMP3 ((uint32_t)0x00080000)
mbed_official 76:aeb1df146756 766
mbed_official 76:aeb1df146756 767
mbed_official 76:aeb1df146756 768 #define IS_RTC_CONFIG_IT(IT) (((IT) != (uint32_t)RESET) && (((IT) & 0xFFFF0FFB) == (uint32_t)RESET))
mbed_official 76:aeb1df146756 769 #define IS_RTC_GET_IT(IT) (((IT) == RTC_IT_TS) || ((IT) == RTC_IT_WUT) || \
mbed_official 76:aeb1df146756 770 ((IT) == RTC_IT_ALRB) || ((IT) == RTC_IT_ALRA) || \
mbed_official 76:aeb1df146756 771 ((IT) == RTC_IT_TAMP1) || ((IT) == RTC_IT_TAMP2) || \
mbed_official 76:aeb1df146756 772 ((IT) == RTC_IT_TAMP3))
mbed_official 76:aeb1df146756 773 #define IS_RTC_CLEAR_IT(IT) (((IT) != (uint32_t)RESET) && (((IT) & 0xFFF10FFF) == (uint32_t)RESET))
mbed_official 76:aeb1df146756 774
mbed_official 76:aeb1df146756 775 /**
mbed_official 76:aeb1df146756 776 * @}
mbed_official 76:aeb1df146756 777 */
mbed_official 76:aeb1df146756 778
mbed_official 76:aeb1df146756 779 /** @defgroup RTC_Legacy
mbed_official 76:aeb1df146756 780 * @{
mbed_official 76:aeb1df146756 781 */
mbed_official 76:aeb1df146756 782 #define RTC_DigitalCalibConfig RTC_CoarseCalibConfig
mbed_official 76:aeb1df146756 783 #define RTC_DigitalCalibCmd RTC_CoarseCalibCmd
mbed_official 76:aeb1df146756 784
mbed_official 76:aeb1df146756 785 /**
mbed_official 76:aeb1df146756 786 * @}
mbed_official 76:aeb1df146756 787 */
mbed_official 76:aeb1df146756 788
mbed_official 76:aeb1df146756 789 /**
mbed_official 76:aeb1df146756 790 * @}
mbed_official 76:aeb1df146756 791 */
mbed_official 76:aeb1df146756 792
mbed_official 76:aeb1df146756 793
mbed_official 76:aeb1df146756 794 /* Exported macro ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 795 /* Exported functions ------------------------------------------------------- */
mbed_official 76:aeb1df146756 796
mbed_official 76:aeb1df146756 797 /* Function used to set the RTC configuration to the default reset state *****/
mbed_official 76:aeb1df146756 798 ErrorStatus RTC_DeInit(void);
mbed_official 76:aeb1df146756 799
mbed_official 76:aeb1df146756 800
mbed_official 76:aeb1df146756 801 /* Initialization and Configuration functions *********************************/
mbed_official 76:aeb1df146756 802 ErrorStatus RTC_Init(RTC_InitTypeDef* RTC_InitStruct);
mbed_official 76:aeb1df146756 803 void RTC_StructInit(RTC_InitTypeDef* RTC_InitStruct);
mbed_official 76:aeb1df146756 804 void RTC_WriteProtectionCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 805 ErrorStatus RTC_EnterInitMode(void);
mbed_official 76:aeb1df146756 806 void RTC_ExitInitMode(void);
mbed_official 76:aeb1df146756 807 ErrorStatus RTC_WaitForSynchro(void);
mbed_official 76:aeb1df146756 808 ErrorStatus RTC_RefClockCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 809 void RTC_BypassShadowCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 810
mbed_official 76:aeb1df146756 811 /* Time and Date configuration functions **************************************/
mbed_official 76:aeb1df146756 812 ErrorStatus RTC_SetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct);
mbed_official 76:aeb1df146756 813 void RTC_TimeStructInit(RTC_TimeTypeDef* RTC_TimeStruct);
mbed_official 76:aeb1df146756 814 void RTC_GetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct);
mbed_official 76:aeb1df146756 815 uint32_t RTC_GetSubSecond(void);
mbed_official 76:aeb1df146756 816 ErrorStatus RTC_SetDate(uint32_t RTC_Format, RTC_DateTypeDef* RTC_DateStruct);
mbed_official 76:aeb1df146756 817 void RTC_DateStructInit(RTC_DateTypeDef* RTC_DateStruct);
mbed_official 76:aeb1df146756 818 void RTC_GetDate(uint32_t RTC_Format, RTC_DateTypeDef* RTC_DateStruct);
mbed_official 76:aeb1df146756 819
mbed_official 76:aeb1df146756 820 /* Alarms (Alarm A and Alarm B) configuration functions **********************/
mbed_official 76:aeb1df146756 821 void RTC_SetAlarm(uint32_t RTC_Format, uint32_t RTC_Alarm, RTC_AlarmTypeDef* RTC_AlarmStruct);
mbed_official 76:aeb1df146756 822 void RTC_AlarmStructInit(RTC_AlarmTypeDef* RTC_AlarmStruct);
mbed_official 76:aeb1df146756 823 void RTC_GetAlarm(uint32_t RTC_Format, uint32_t RTC_Alarm, RTC_AlarmTypeDef* RTC_AlarmStruct);
mbed_official 76:aeb1df146756 824 ErrorStatus RTC_AlarmCmd(uint32_t RTC_Alarm, FunctionalState NewState);
mbed_official 76:aeb1df146756 825 void RTC_AlarmSubSecondConfig(uint32_t RTC_Alarm, uint32_t RTC_AlarmSubSecondValue, uint32_t RTC_AlarmSubSecondMask);
mbed_official 76:aeb1df146756 826 uint32_t RTC_GetAlarmSubSecond(uint32_t RTC_Alarm);
mbed_official 76:aeb1df146756 827
mbed_official 76:aeb1df146756 828 /* WakeUp Timer configuration functions ***************************************/
mbed_official 76:aeb1df146756 829 void RTC_WakeUpClockConfig(uint32_t RTC_WakeUpClock);
mbed_official 76:aeb1df146756 830 void RTC_SetWakeUpCounter(uint32_t RTC_WakeUpCounter);
mbed_official 76:aeb1df146756 831 uint32_t RTC_GetWakeUpCounter(void);
mbed_official 76:aeb1df146756 832 ErrorStatus RTC_WakeUpCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 833
mbed_official 76:aeb1df146756 834 /* Daylight Saving configuration functions ************************************/
mbed_official 76:aeb1df146756 835 void RTC_DayLightSavingConfig(uint32_t RTC_DayLightSaving, uint32_t RTC_StoreOperation);
mbed_official 76:aeb1df146756 836 uint32_t RTC_GetStoreOperation(void);
mbed_official 76:aeb1df146756 837
mbed_official 76:aeb1df146756 838 /* Output pin Configuration function ******************************************/
mbed_official 76:aeb1df146756 839 void RTC_OutputConfig(uint32_t RTC_Output, uint32_t RTC_OutputPolarity);
mbed_official 76:aeb1df146756 840
mbed_official 76:aeb1df146756 841 /* Coarse and Smooth Calibration configuration functions **********************/
mbed_official 76:aeb1df146756 842 ErrorStatus RTC_CoarseCalibConfig(uint32_t RTC_CalibSign, uint32_t Value);
mbed_official 76:aeb1df146756 843 ErrorStatus RTC_CoarseCalibCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 844 void RTC_CalibOutputCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 845 void RTC_CalibOutputConfig(uint32_t RTC_CalibOutput);
mbed_official 76:aeb1df146756 846 ErrorStatus RTC_SmoothCalibConfig(uint32_t RTC_SmoothCalibPeriod,
mbed_official 76:aeb1df146756 847 uint32_t RTC_SmoothCalibPlusPulses,
mbed_official 76:aeb1df146756 848 uint32_t RTC_SmouthCalibMinusPulsesValue);
mbed_official 76:aeb1df146756 849
mbed_official 76:aeb1df146756 850 /* TimeStamp configuration functions ******************************************/
mbed_official 76:aeb1df146756 851 void RTC_TimeStampCmd(uint32_t RTC_TimeStampEdge, FunctionalState NewState);
mbed_official 76:aeb1df146756 852 void RTC_GetTimeStamp(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_StampTimeStruct,
mbed_official 76:aeb1df146756 853 RTC_DateTypeDef* RTC_StampDateStruct);
mbed_official 76:aeb1df146756 854 uint32_t RTC_GetTimeStampSubSecond(void);
mbed_official 76:aeb1df146756 855
mbed_official 76:aeb1df146756 856 /* Tampers configuration functions ********************************************/
mbed_official 76:aeb1df146756 857 void RTC_TamperTriggerConfig(uint32_t RTC_Tamper, uint32_t RTC_TamperTrigger);
mbed_official 76:aeb1df146756 858 void RTC_TamperCmd(uint32_t RTC_Tamper, FunctionalState NewState);
mbed_official 76:aeb1df146756 859 void RTC_TamperFilterConfig(uint32_t RTC_TamperFilter);
mbed_official 76:aeb1df146756 860 void RTC_TamperSamplingFreqConfig(uint32_t RTC_TamperSamplingFreq);
mbed_official 76:aeb1df146756 861 void RTC_TamperPinsPrechargeDuration(uint32_t RTC_TamperPrechargeDuration);
mbed_official 76:aeb1df146756 862 void RTC_TimeStampOnTamperDetectionCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 863 void RTC_TamperPullUpCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 864
mbed_official 76:aeb1df146756 865 /* Backup Data Registers configuration functions ******************************/
mbed_official 76:aeb1df146756 866 void RTC_WriteBackupRegister(uint32_t RTC_BKP_DR, uint32_t Data);
mbed_official 76:aeb1df146756 867 uint32_t RTC_ReadBackupRegister(uint32_t RTC_BKP_DR);
mbed_official 76:aeb1df146756 868
mbed_official 76:aeb1df146756 869 /* Output Type Config configuration functions *********************************/
mbed_official 76:aeb1df146756 870 void RTC_OutputTypeConfig(uint32_t RTC_OutputType);
mbed_official 76:aeb1df146756 871
mbed_official 76:aeb1df146756 872 /* RTC_Shift_control_synchonisation_functions *********************************/
mbed_official 76:aeb1df146756 873 ErrorStatus RTC_SynchroShiftConfig(uint32_t RTC_ShiftAdd1S, uint32_t RTC_ShiftSubFS);
mbed_official 76:aeb1df146756 874
mbed_official 76:aeb1df146756 875 /* Interrupts and flags management functions **********************************/
mbed_official 76:aeb1df146756 876 void RTC_ITConfig(uint32_t RTC_IT, FunctionalState NewState);
mbed_official 76:aeb1df146756 877 FlagStatus RTC_GetFlagStatus(uint32_t RTC_FLAG);
mbed_official 76:aeb1df146756 878 void RTC_ClearFlag(uint32_t RTC_FLAG);
mbed_official 76:aeb1df146756 879 ITStatus RTC_GetITStatus(uint32_t RTC_IT);
mbed_official 76:aeb1df146756 880 void RTC_ClearITPendingBit(uint32_t RTC_IT);
mbed_official 76:aeb1df146756 881
mbed_official 76:aeb1df146756 882 #ifdef __cplusplus
mbed_official 76:aeb1df146756 883 }
mbed_official 76:aeb1df146756 884 #endif
mbed_official 76:aeb1df146756 885
mbed_official 76:aeb1df146756 886 #endif /*__STM32L1xx_RTC_H */
mbed_official 76:aeb1df146756 887
mbed_official 76:aeb1df146756 888 /**
mbed_official 76:aeb1df146756 889 * @}
mbed_official 76:aeb1df146756 890 */
mbed_official 76:aeb1df146756 891
mbed_official 76:aeb1df146756 892 /**
mbed_official 76:aeb1df146756 893 * @}
mbed_official 76:aeb1df146756 894 */
mbed_official 76:aeb1df146756 895
mbed_official 76:aeb1df146756 896 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/