STM CMSIS
stm32f4xx_hal_rtc.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F4xx_HAL_RTC_H
40 #define __STM32F4xx_HAL_RTC_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32f4xx_hal_def.h"
48 
57 /* Exported types ------------------------------------------------------------*/
65 typedef enum
66 {
73 
77 typedef struct
78 {
79  uint32_t HourFormat;
82  uint32_t AsynchPrediv;
85  uint32_t SynchPrediv;
88  uint32_t OutPut;
91  uint32_t OutPutPolarity;
94  uint32_t OutPutType;
97 
101 typedef struct
102 {
103  uint8_t Hours;
107  uint8_t Minutes;
110  uint8_t Seconds;
113  uint8_t TimeFormat;
116  uint32_t SubSeconds;
120  uint32_t SecondFraction;
126  uint32_t DayLightSaving;
129  uint32_t StoreOperation;
133 
137 typedef struct
138 {
139  uint8_t WeekDay;
142  uint8_t Month;
145  uint8_t Date;
148  uint8_t Year;
152 
156 typedef struct
157 {
160  uint32_t AlarmMask;
173  uint32_t Alarm;
176 
180 typedef struct
181 {
188  __IO HAL_RTCStateTypeDef State;
191 
196 /* Exported constants --------------------------------------------------------*/
204 #define RTC_HOURFORMAT_24 ((uint32_t)0x00000000U)
205 #define RTC_HOURFORMAT_12 ((uint32_t)0x00000040U)
206 
213 #define RTC_OUTPUT_DISABLE ((uint32_t)0x00000000U)
214 #define RTC_OUTPUT_ALARMA ((uint32_t)0x00200000U)
215 #define RTC_OUTPUT_ALARMB ((uint32_t)0x00400000U)
216 #define RTC_OUTPUT_WAKEUP ((uint32_t)0x00600000U)
217 
224 #define RTC_OUTPUT_POLARITY_HIGH ((uint32_t)0x00000000U)
225 #define RTC_OUTPUT_POLARITY_LOW ((uint32_t)0x00100000U)
226 
233 #define RTC_OUTPUT_TYPE_OPENDRAIN ((uint32_t)0x00000000U)
234 #define RTC_OUTPUT_TYPE_PUSHPULL ((uint32_t)0x00040000U)
235 
242 #define RTC_HOURFORMAT12_AM ((uint8_t)0x00U)
243 #define RTC_HOURFORMAT12_PM ((uint8_t)0x40U)
244 
251 #define RTC_DAYLIGHTSAVING_SUB1H ((uint32_t)0x00020000U)
252 #define RTC_DAYLIGHTSAVING_ADD1H ((uint32_t)0x00010000U)
253 #define RTC_DAYLIGHTSAVING_NONE ((uint32_t)0x00000000U)
254 
261 #define RTC_STOREOPERATION_RESET ((uint32_t)0x00000000U)
262 #define RTC_STOREOPERATION_SET ((uint32_t)0x00040000U)
263 
270 #define RTC_FORMAT_BIN ((uint32_t)0x00000000U)
271 #define RTC_FORMAT_BCD ((uint32_t)0x00000001U)
272 
279 /* Coded in BCD format */
280 #define RTC_MONTH_JANUARY ((uint8_t)0x01U)
281 #define RTC_MONTH_FEBRUARY ((uint8_t)0x02U)
282 #define RTC_MONTH_MARCH ((uint8_t)0x03U)
283 #define RTC_MONTH_APRIL ((uint8_t)0x04U)
284 #define RTC_MONTH_MAY ((uint8_t)0x05U)
285 #define RTC_MONTH_JUNE ((uint8_t)0x06U)
286 #define RTC_MONTH_JULY ((uint8_t)0x07U)
287 #define RTC_MONTH_AUGUST ((uint8_t)0x08U)
288 #define RTC_MONTH_SEPTEMBER ((uint8_t)0x09U)
289 #define RTC_MONTH_OCTOBER ((uint8_t)0x10U)
290 #define RTC_MONTH_NOVEMBER ((uint8_t)0x11U)
291 #define RTC_MONTH_DECEMBER ((uint8_t)0x12U)
292 
299 #define RTC_WEEKDAY_MONDAY ((uint8_t)0x01U)
300 #define RTC_WEEKDAY_TUESDAY ((uint8_t)0x02U)
301 #define RTC_WEEKDAY_WEDNESDAY ((uint8_t)0x03U)
302 #define RTC_WEEKDAY_THURSDAY ((uint8_t)0x04U)
303 #define RTC_WEEKDAY_FRIDAY ((uint8_t)0x05U)
304 #define RTC_WEEKDAY_SATURDAY ((uint8_t)0x06U)
305 #define RTC_WEEKDAY_SUNDAY ((uint8_t)0x07U)
306 
313 #define RTC_ALARMDATEWEEKDAYSEL_DATE ((uint32_t)0x00000000U)
314 #define RTC_ALARMDATEWEEKDAYSEL_WEEKDAY ((uint32_t)0x40000000U)
315 
322 #define RTC_ALARMMASK_NONE ((uint32_t)0x00000000U)
323 #define RTC_ALARMMASK_DATEWEEKDAY RTC_ALRMAR_MSK4
324 #define RTC_ALARMMASK_HOURS RTC_ALRMAR_MSK3
325 #define RTC_ALARMMASK_MINUTES RTC_ALRMAR_MSK2
326 #define RTC_ALARMMASK_SECONDS RTC_ALRMAR_MSK1
327 #define RTC_ALARMMASK_ALL ((uint32_t)0x80808080U)
328 
335 #define RTC_ALARM_A RTC_CR_ALRAE
336 #define RTC_ALARM_B RTC_CR_ALRBE
337 
344 #define RTC_ALARMSUBSECONDMASK_ALL ((uint32_t)0x00000000U)
347 #define RTC_ALARMSUBSECONDMASK_SS14_1 ((uint32_t)0x01000000U)
349 #define RTC_ALARMSUBSECONDMASK_SS14_2 ((uint32_t)0x02000000U)
351 #define RTC_ALARMSUBSECONDMASK_SS14_3 ((uint32_t)0x03000000U)
353 #define RTC_ALARMSUBSECONDMASK_SS14_4 ((uint32_t)0x04000000U)
355 #define RTC_ALARMSUBSECONDMASK_SS14_5 ((uint32_t)0x05000000U)
357 #define RTC_ALARMSUBSECONDMASK_SS14_6 ((uint32_t)0x06000000U)
359 #define RTC_ALARMSUBSECONDMASK_SS14_7 ((uint32_t)0x07000000U)
361 #define RTC_ALARMSUBSECONDMASK_SS14_8 ((uint32_t)0x08000000U)
363 #define RTC_ALARMSUBSECONDMASK_SS14_9 ((uint32_t)0x09000000U)
365 #define RTC_ALARMSUBSECONDMASK_SS14_10 ((uint32_t)0x0A000000U)
367 #define RTC_ALARMSUBSECONDMASK_SS14_11 ((uint32_t)0x0B000000U)
369 #define RTC_ALARMSUBSECONDMASK_SS14_12 ((uint32_t)0x0C000000U)
371 #define RTC_ALARMSUBSECONDMASK_SS14_13 ((uint32_t)0x0D000000U)
373 #define RTC_ALARMSUBSECONDMASK_SS14 ((uint32_t)0x0E000000U)
375 #define RTC_ALARMSUBSECONDMASK_NONE ((uint32_t)0x0F000000U)
384 #define RTC_IT_TS ((uint32_t)0x00008000U)
385 #define RTC_IT_WUT ((uint32_t)0x00004000U)
386 #define RTC_IT_ALRB ((uint32_t)0x00002000U)
387 #define RTC_IT_ALRA ((uint32_t)0x00001000U)
388 #define RTC_IT_TAMP ((uint32_t)0x00000004U) /* Used only to Enable the Tamper Interrupt */
389 #define RTC_IT_TAMP1 ((uint32_t)0x00020000U)
390 #define RTC_IT_TAMP2 ((uint32_t)0x00040000U)
398 #define RTC_FLAG_RECALPF ((uint32_t)0x00010000U)
399 #define RTC_FLAG_TAMP2F ((uint32_t)0x00004000U)
400 #define RTC_FLAG_TAMP1F ((uint32_t)0x00002000U)
401 #define RTC_FLAG_TSOVF ((uint32_t)0x00001000U)
402 #define RTC_FLAG_TSF ((uint32_t)0x00000800U)
403 #define RTC_FLAG_WUTF ((uint32_t)0x00000400U)
404 #define RTC_FLAG_ALRBF ((uint32_t)0x00000200U)
405 #define RTC_FLAG_ALRAF ((uint32_t)0x00000100U)
406 #define RTC_FLAG_INITF ((uint32_t)0x00000040U)
407 #define RTC_FLAG_RSF ((uint32_t)0x00000020U)
408 #define RTC_FLAG_INITS ((uint32_t)0x00000010U)
409 #define RTC_FLAG_SHPF ((uint32_t)0x00000008U)
410 #define RTC_FLAG_WUTWF ((uint32_t)0x00000004U)
411 #define RTC_FLAG_ALRBWF ((uint32_t)0x00000002U)
412 #define RTC_FLAG_ALRAWF ((uint32_t)0x00000001U)
413 
421 /* Exported macro ------------------------------------------------------------*/
430 #define __HAL_RTC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RTC_STATE_RESET)
431 
437 #define __HAL_RTC_WRITEPROTECTION_DISABLE(__HANDLE__) \
438  do{ \
439  (__HANDLE__)->Instance->WPR = 0xCAU; \
440  (__HANDLE__)->Instance->WPR = 0x53U; \
441  } while(0)
442 
448 #define __HAL_RTC_WRITEPROTECTION_ENABLE(__HANDLE__) \
449  do{ \
450  (__HANDLE__)->Instance->WPR = 0xFFU; \
451  } while(0)
452 
458 #define __HAL_RTC_ALARMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRAE))
459 
465 #define __HAL_RTC_ALARMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRAE))
466 
472 #define __HAL_RTC_ALARMB_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRBE))
473 
479 #define __HAL_RTC_ALARMB_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRBE))
480 
490 #define __HAL_RTC_ALARM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
491 
501 #define __HAL_RTC_ALARM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
502 
512 #define __HAL_RTC_ALARM_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR)& ((__INTERRUPT__)>> 4U)) != RESET)? SET : RESET)
513 
525 #define __HAL_RTC_ALARM_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
526 
536 #define __HAL_RTC_ALARM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
537 
538 
548 #define __HAL_RTC_ALARM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
549 
554 #define __HAL_RTC_ALARM_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_ALARM_EVENT)
555 
560 #define __HAL_RTC_ALARM_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
561 
566 #define __HAL_RTC_ALARM_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_ALARM_EVENT)
567 
572 #define __HAL_RTC_ALARM_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
573 
578 #define __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_ALARM_EVENT)
579 
584 #define __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
585 
590 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_ALARM_EVENT)
591 
596 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
597 
602 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_FALLING_EDGE() do { __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE(); \
603  __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE();\
604  } while(0)
605 
610 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_FALLING_EDGE() do { __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE();\
611  __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE();\
612  } while(0)
618 #define __HAL_RTC_ALARM_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_ALARM_EVENT)
624 #define __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_ALARM_EVENT)
625 
630 #define __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_ALARM_EVENT)
631 
635 /* Include RTC HAL Extension module */
636 #include "stm32f4xx_hal_rtc_ex.h"
637 
638 /* Exported functions --------------------------------------------------------*/
646 /* Initialization and de-initialization functions ****************************/
648 HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc);
649 void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc);
650 void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc);
658 /* RTC Time and Date functions ************************************************/
659 HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format);
660 HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format);
661 HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format);
662 HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format);
670 /* RTC Alarm functions ********************************************************/
671 HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format);
672 HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format);
673 HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm);
674 HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format);
675 void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc);
676 HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
685 /* Peripheral Control functions ***********************************************/
686 HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc);
694 /* Peripheral State functions *************************************************/
695 HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc);
704 /* Private types -------------------------------------------------------------*/
705 /* Private variables ---------------------------------------------------------*/
706 /* Private constants ---------------------------------------------------------*/
710 /* Masks Definition */
711 #define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7FU)
712 #define RTC_DR_RESERVED_MASK ((uint32_t)0x00FFFF3FU)
713 #define RTC_INIT_MASK ((uint32_t)0xFFFFFFFFU)
714 #define RTC_RSF_MASK ((uint32_t)0xFFFFFF5FU)
715 #define RTC_FLAGS_MASK ((uint32_t)(RTC_FLAG_TSOVF | RTC_FLAG_TSF | RTC_FLAG_WUTF | \
716  RTC_FLAG_ALRBF | RTC_FLAG_ALRAF | RTC_FLAG_INITF | \
717  RTC_FLAG_RSF | RTC_FLAG_INITS | RTC_FLAG_WUTWF | \
718  RTC_FLAG_ALRBWF | RTC_FLAG_ALRAWF | RTC_FLAG_TAMP1F | \
719  RTC_FLAG_RECALPF | RTC_FLAG_SHPF))
720 
721 #define RTC_TIMEOUT_VALUE 1000
722 
723 #define RTC_EXTI_LINE_ALARM_EVENT ((uint32_t)EXTI_IMR_MR17)
728 /* Private macros ------------------------------------------------------------*/
729 
736 #define IS_RTC_HOUR_FORMAT(FORMAT) (((FORMAT) == RTC_HOURFORMAT_12) || \
737  ((FORMAT) == RTC_HOURFORMAT_24))
738 #define IS_RTC_OUTPUT(OUTPUT) (((OUTPUT) == RTC_OUTPUT_DISABLE) || \
739  ((OUTPUT) == RTC_OUTPUT_ALARMA) || \
740  ((OUTPUT) == RTC_OUTPUT_ALARMB) || \
741  ((OUTPUT) == RTC_OUTPUT_WAKEUP))
742 #define IS_RTC_OUTPUT_POL(POL) (((POL) == RTC_OUTPUT_POLARITY_HIGH) || \
743  ((POL) == RTC_OUTPUT_POLARITY_LOW))
744 #define IS_RTC_OUTPUT_TYPE(TYPE) (((TYPE) == RTC_OUTPUT_TYPE_OPENDRAIN) || \
745  ((TYPE) == RTC_OUTPUT_TYPE_PUSHPULL))
746 #define IS_RTC_HOUR12(HOUR) (((HOUR) > (uint32_t)0U) && ((HOUR) <= (uint32_t)12U))
747 #define IS_RTC_HOUR24(HOUR) ((HOUR) <= (uint32_t)23U)
748 #define IS_RTC_ASYNCH_PREDIV(PREDIV) ((PREDIV) <= (uint32_t)0x7FU)
749 #define IS_RTC_SYNCH_PREDIV(PREDIV) ((PREDIV) <= (uint32_t)0x7FFFU)
750 #define IS_RTC_MINUTES(MINUTES) ((MINUTES) <= (uint32_t)59U)
751 #define IS_RTC_SECONDS(SECONDS) ((SECONDS) <= (uint32_t)59U)
752 
753 #define IS_RTC_HOURFORMAT12(PM) (((PM) == RTC_HOURFORMAT12_AM) || ((PM) == RTC_HOURFORMAT12_PM))
754 #define IS_RTC_DAYLIGHT_SAVING(SAVE) (((SAVE) == RTC_DAYLIGHTSAVING_SUB1H) || \
755  ((SAVE) == RTC_DAYLIGHTSAVING_ADD1H) || \
756  ((SAVE) == RTC_DAYLIGHTSAVING_NONE))
757 #define IS_RTC_STORE_OPERATION(OPERATION) (((OPERATION) == RTC_STOREOPERATION_RESET) || \
758  ((OPERATION) == RTC_STOREOPERATION_SET))
759 #define IS_RTC_FORMAT(FORMAT) (((FORMAT) == RTC_FORMAT_BIN) || ((FORMAT) == RTC_FORMAT_BCD))
760 #define IS_RTC_YEAR(YEAR) ((YEAR) <= (uint32_t)99U)
761 #define IS_RTC_MONTH(MONTH) (((MONTH) >= (uint32_t)1U) && ((MONTH) <= (uint32_t)12U))
762 #define IS_RTC_DATE(DATE) (((DATE) >= (uint32_t)1U) && ((DATE) <= (uint32_t)31U))
763 #define IS_RTC_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_WEEKDAY_MONDAY) || \
764  ((WEEKDAY) == RTC_WEEKDAY_TUESDAY) || \
765  ((WEEKDAY) == RTC_WEEKDAY_WEDNESDAY) || \
766  ((WEEKDAY) == RTC_WEEKDAY_THURSDAY) || \
767  ((WEEKDAY) == RTC_WEEKDAY_FRIDAY) || \
768  ((WEEKDAY) == RTC_WEEKDAY_SATURDAY) || \
769  ((WEEKDAY) == RTC_WEEKDAY_SUNDAY))
770 #define IS_RTC_ALARM_DATE_WEEKDAY_DATE(DATE) (((DATE) >(uint32_t) 0U) && ((DATE) <= (uint32_t)31U))
771 #define IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(WEEKDAY) (((WEEKDAY) == RTC_WEEKDAY_MONDAY) || \
772  ((WEEKDAY) == RTC_WEEKDAY_TUESDAY) || \
773  ((WEEKDAY) == RTC_WEEKDAY_WEDNESDAY) || \
774  ((WEEKDAY) == RTC_WEEKDAY_THURSDAY) || \
775  ((WEEKDAY) == RTC_WEEKDAY_FRIDAY) || \
776  ((WEEKDAY) == RTC_WEEKDAY_SATURDAY) || \
777  ((WEEKDAY) == RTC_WEEKDAY_SUNDAY))
778 #define IS_RTC_ALARM_DATE_WEEKDAY_SEL(SEL) (((SEL) == RTC_ALARMDATEWEEKDAYSEL_DATE) || \
779  ((SEL) == RTC_ALARMDATEWEEKDAYSEL_WEEKDAY))
780 #define IS_RTC_ALARM_MASK(MASK) (((MASK) & 0x7F7F7F7FU) == (uint32_t)RESET)
781 #define IS_RTC_ALARM(ALARM) (((ALARM) == RTC_ALARM_A) || ((ALARM) == RTC_ALARM_B))
782 #define IS_RTC_ALARM_SUB_SECOND_VALUE(VALUE) ((VALUE) <= (uint32_t)0x00007FFFU)
783 
784 #define IS_RTC_ALARM_SUB_SECOND_MASK(MASK) (((MASK) == RTC_ALARMSUBSECONDMASK_ALL) || \
785  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_1) || \
786  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_2) || \
787  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_3) || \
788  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_4) || \
789  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_5) || \
790  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_6) || \
791  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_7) || \
792  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_8) || \
793  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_9) || \
794  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_10) || \
795  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_11) || \
796  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_12) || \
797  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_13) || \
798  ((MASK) == RTC_ALARMSUBSECONDMASK_SS14) || \
799  ((MASK) == RTC_ALARMSUBSECONDMASK_NONE))
800 
808 /* Private functions ---------------------------------------------------------*/
812 HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc);
813 uint8_t RTC_ByteToBcd2(uint8_t Value);
814 uint8_t RTC_Bcd2ToByte(uint8_t Value);
827 #ifdef __cplusplus
828 }
829 #endif
830 
831 #endif /* __STM32F4xx_HAL_RTC_H */
832 
833 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
uint32_t DayLightSaving
Definition: stm32f4xx_hal_rtc.h:126
uint8_t TimeFormat
Definition: stm32f4xx_hal_rtc.h:113
uint8_t Seconds
Definition: stm32f4xx_hal_rtc.h:110
RTC_TypeDef * Instance
Definition: stm32f4xx_hal_rtc.h:182
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_LockTypeDef Lock
Definition: stm32f4xx_hal_rtc.h:186
RTC_InitTypeDef Init
Definition: stm32f4xx_hal_rtc.h:184
uint32_t AlarmMask
Definition: stm32f4xx_hal_rtc.h:160
RTC Date structure definition.
Definition: stm32f4xx_hal_rtc.h:137
Definition: stm32f4xx_hal_rtc.h:69
uint32_t SecondFraction
Definition: stm32f4xx_hal_rtc.h:120
uint8_t Minutes
Definition: stm32f4xx_hal_rtc.h:107
Definition: stm32f4xx_hal_rtc.h:70
Definition: stm32f4xx_hal_rtc.h:68
uint8_t Year
Definition: stm32f4xx_hal_rtc.h:148
uint8_t Date
Definition: stm32f4xx_hal_rtc.h:145
RTC_TimeTypeDef AlarmTime
Definition: stm32f4xx_hal_rtc.h:158
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
ALARM A Event Callback in non blocking mode.
Definition: stm32f4xx_hal_timebase_rtc_alarm_template.c:271
#define __IO
Definition: core_cm0.h:213
RTC Time structure definition.
Definition: stm32f4xx_hal_rtc.h:101
Definition: stm32f4xx_hal_rtc.h:71
uint8_t WeekDay
Definition: stm32f4xx_hal_rtc.h:139
uint32_t OutPutType
Definition: stm32f4xx_hal_rtc.h:94
uint32_t AlarmSubSecondMask
Definition: stm32f4xx_hal_rtc.h:163
uint32_t HourFormat
Definition: stm32f4xx_hal_rtc.h:79
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68
uint8_t AlarmDateWeekDay
Definition: stm32f4xx_hal_rtc.h:169
uint32_t OutPutPolarity
Definition: stm32f4xx_hal_rtc.h:91
Real-Time Clock.
Definition: stm32f401xc.h:395
uint32_t SynchPrediv
Definition: stm32f4xx_hal_rtc.h:85
uint32_t Alarm
Definition: stm32f4xx_hal_rtc.h:173
RTC Handle Structure definition.
Definition: stm32f4xx_hal_rtc.h:180
__IO HAL_RTCStateTypeDef State
Definition: stm32f4xx_hal_rtc.h:188
Definition: stm32f4xx_hal_rtc.h:67
HAL_RTCStateTypeDef
HAL State structures definition.
Definition: stm32f4xx_hal_rtc.h:65
uint32_t SubSeconds
Definition: stm32f4xx_hal_rtc.h:116
uint32_t OutPut
Definition: stm32f4xx_hal_rtc.h:88
uint8_t Hours
Definition: stm32f4xx_hal_rtc.h:103
uint8_t Month
Definition: stm32f4xx_hal_rtc.h:142
uint32_t StoreOperation
Definition: stm32f4xx_hal_rtc.h:129
uint32_t AsynchPrediv
Definition: stm32f4xx_hal_rtc.h:82
RTC Configuration Structure definition.
Definition: stm32f4xx_hal_rtc.h:77
RTC Alarm structure definition.
Definition: stm32f4xx_hal_rtc.h:156
Header file of RTC HAL Extension module.
uint32_t AlarmDateWeekDaySel
Definition: stm32f4xx_hal_rtc.h:166