39 #ifndef __STM32F7xx_HAL_RTC_H 40 #define __STM32F7xx_HAL_RTC_H 205 #define RTC_HOURFORMAT_24 ((uint32_t)0x00000000U) 206 #define RTC_HOURFORMAT_12 ((uint32_t)0x00000040U) 215 #define RTC_OUTPUT_POLARITY_HIGH ((uint32_t)0x00000000U) 216 #define RTC_OUTPUT_POLARITY_LOW ((uint32_t)0x00100000U) 224 #define RTC_OUTPUT_TYPE_OPENDRAIN ((uint32_t)0x00000000U) 225 #define RTC_OUTPUT_TYPE_PUSHPULL ((uint32_t)RTC_OR_ALARMTYPE) 233 #define RTC_HOURFORMAT12_AM ((uint8_t)0x00U) 234 #define RTC_HOURFORMAT12_PM ((uint8_t)0x40U) 242 #define RTC_DAYLIGHTSAVING_SUB1H ((uint32_t)0x00020000U) 243 #define RTC_DAYLIGHTSAVING_ADD1H ((uint32_t)0x00010000U) 244 #define RTC_DAYLIGHTSAVING_NONE ((uint32_t)0x00000000U) 252 #define RTC_STOREOPERATION_RESET ((uint32_t)0x00000000U) 253 #define RTC_STOREOPERATION_SET ((uint32_t)0x00040000U) 261 #define RTC_FORMAT_BIN ((uint32_t)0x00000000U) 262 #define RTC_FORMAT_BCD ((uint32_t)0x00000001U) 271 #define RTC_MONTH_JANUARY ((uint8_t)0x01U) 272 #define RTC_MONTH_FEBRUARY ((uint8_t)0x02U) 273 #define RTC_MONTH_MARCH ((uint8_t)0x03U) 274 #define RTC_MONTH_APRIL ((uint8_t)0x04U) 275 #define RTC_MONTH_MAY ((uint8_t)0x05U) 276 #define RTC_MONTH_JUNE ((uint8_t)0x06U) 277 #define RTC_MONTH_JULY ((uint8_t)0x07U) 278 #define RTC_MONTH_AUGUST ((uint8_t)0x08U) 279 #define RTC_MONTH_SEPTEMBER ((uint8_t)0x09U) 280 #define RTC_MONTH_OCTOBER ((uint8_t)0x10U) 281 #define RTC_MONTH_NOVEMBER ((uint8_t)0x11U) 282 #define RTC_MONTH_DECEMBER ((uint8_t)0x12U) 290 #define RTC_WEEKDAY_MONDAY ((uint8_t)0x01U) 291 #define RTC_WEEKDAY_TUESDAY ((uint8_t)0x02U) 292 #define RTC_WEEKDAY_WEDNESDAY ((uint8_t)0x03U) 293 #define RTC_WEEKDAY_THURSDAY ((uint8_t)0x04U) 294 #define RTC_WEEKDAY_FRIDAY ((uint8_t)0x05U) 295 #define RTC_WEEKDAY_SATURDAY ((uint8_t)0x06U) 296 #define RTC_WEEKDAY_SUNDAY ((uint8_t)0x07U) 304 #define RTC_ALARMDATEWEEKDAYSEL_DATE ((uint32_t)0x00000000U) 305 #define RTC_ALARMDATEWEEKDAYSEL_WEEKDAY ((uint32_t)0x40000000U) 313 #define RTC_ALARMMASK_NONE ((uint32_t)0x00000000U) 314 #define RTC_ALARMMASK_DATEWEEKDAY RTC_ALRMAR_MSK4 315 #define RTC_ALARMMASK_HOURS RTC_ALRMAR_MSK3 316 #define RTC_ALARMMASK_MINUTES RTC_ALRMAR_MSK2 317 #define RTC_ALARMMASK_SECONDS RTC_ALRMAR_MSK1 318 #define RTC_ALARMMASK_ALL ((uint32_t)0x80808080U) 326 #define RTC_ALARM_A RTC_CR_ALRAE 327 #define RTC_ALARM_B RTC_CR_ALRBE 335 #define RTC_ALARMSUBSECONDMASK_ALL ((uint32_t)0x00000000U) 338 #define RTC_ALARMSUBSECONDMASK_SS14_1 ((uint32_t)0x01000000U) 340 #define RTC_ALARMSUBSECONDMASK_SS14_2 ((uint32_t)0x02000000U) 342 #define RTC_ALARMSUBSECONDMASK_SS14_3 ((uint32_t)0x03000000U) 344 #define RTC_ALARMSUBSECONDMASK_SS14_4 ((uint32_t)0x04000000U) 346 #define RTC_ALARMSUBSECONDMASK_SS14_5 ((uint32_t)0x05000000U) 348 #define RTC_ALARMSUBSECONDMASK_SS14_6 ((uint32_t)0x06000000U) 350 #define RTC_ALARMSUBSECONDMASK_SS14_7 ((uint32_t)0x07000000U) 352 #define RTC_ALARMSUBSECONDMASK_SS14_8 ((uint32_t)0x08000000U) 354 #define RTC_ALARMSUBSECONDMASK_SS14_9 ((uint32_t)0x09000000U) 356 #define RTC_ALARMSUBSECONDMASK_SS14_10 ((uint32_t)0x0A000000U) 358 #define RTC_ALARMSUBSECONDMASK_SS14_11 ((uint32_t)0x0B000000U) 360 #define RTC_ALARMSUBSECONDMASK_SS14_12 ((uint32_t)0x0C000000U) 362 #define RTC_ALARMSUBSECONDMASK_SS14_13 ((uint32_t)0x0D000000U) 364 #define RTC_ALARMSUBSECONDMASK_SS14 ((uint32_t)0x0E000000U) 366 #define RTC_ALARMSUBSECONDMASK_NONE ((uint32_t)0x0F000000U) 375 #define RTC_IT_TS ((uint32_t)RTC_CR_TSIE) 376 #define RTC_IT_WUT ((uint32_t)RTC_CR_WUTIE) 377 #define RTC_IT_ALRA ((uint32_t)RTC_CR_ALRAIE) 378 #define RTC_IT_ALRB ((uint32_t)RTC_CR_ALRBIE) 379 #define RTC_IT_TAMP ((uint32_t)RTC_TAMPCR_TAMPIE) 380 #define RTC_IT_TAMP1 ((uint32_t)RTC_TAMPCR_TAMP1IE) 381 #define RTC_IT_TAMP2 ((uint32_t)RTC_TAMPCR_TAMP2IE) 382 #define RTC_IT_TAMP3 ((uint32_t)RTC_TAMPCR_TAMP3IE) 390 #define RTC_FLAG_RECALPF ((uint32_t)RTC_ISR_RECALPF) 391 #define RTC_FLAG_TAMP3F ((uint32_t)RTC_ISR_TAMP3F) 392 #define RTC_FLAG_TAMP2F ((uint32_t)RTC_ISR_TAMP2F) 393 #define RTC_FLAG_TAMP1F ((uint32_t)RTC_ISR_TAMP1F) 394 #define RTC_FLAG_TSOVF ((uint32_t)RTC_ISR_TSOVF) 395 #define RTC_FLAG_TSF ((uint32_t)RTC_ISR_TSF) 396 #define RTC_FLAG_ITSF ((uint32_t)RTC_ISR_ITSF) 397 #define RTC_FLAG_WUTF ((uint32_t)RTC_ISR_WUTF) 398 #define RTC_FLAG_ALRBF ((uint32_t)RTC_ISR_ALRBF) 399 #define RTC_FLAG_ALRAF ((uint32_t)RTC_ISR_ALRAF) 400 #define RTC_FLAG_INITF ((uint32_t)RTC_ISR_INITF) 401 #define RTC_FLAG_RSF ((uint32_t)RTC_ISR_RSF) 402 #define RTC_FLAG_INITS ((uint32_t)RTC_ISR_INITS) 403 #define RTC_FLAG_SHPF ((uint32_t)RTC_ISR_SHPF) 404 #define RTC_FLAG_WUTWF ((uint32_t)RTC_ISR_WUTWF) 405 #define RTC_FLAG_ALRBWF ((uint32_t)RTC_ISR_ALRBWF) 406 #define RTC_FLAG_ALRAWF ((uint32_t)RTC_ISR_ALRAWF) 424 #define __HAL_RTC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RTC_STATE_RESET) 431 #define __HAL_RTC_WRITEPROTECTION_DISABLE(__HANDLE__) \ 433 (__HANDLE__)->Instance->WPR = 0xCA; \ 434 (__HANDLE__)->Instance->WPR = 0x53; \ 442 #define __HAL_RTC_WRITEPROTECTION_ENABLE(__HANDLE__) \ 444 (__HANDLE__)->Instance->WPR = 0xFF; \ 452 #define __HAL_RTC_ALARMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRAE)) 459 #define __HAL_RTC_ALARMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRAE)) 466 #define __HAL_RTC_ALARMB_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRBE)) 473 #define __HAL_RTC_ALARMB_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRBE)) 484 #define __HAL_RTC_ALARM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) 495 #define __HAL_RTC_ALARM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) 506 #define __HAL_RTC_ALARM_GET_IT(__HANDLE__, __INTERRUPT__) ((((((__HANDLE__)->Instance->ISR)& ((__INTERRUPT__)>> 4)) & 0x0000FFFF) != RESET)? SET : RESET) 519 #define __HAL_RTC_ALARM_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET) 530 #define __HAL_RTC_ALARM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~(((__FLAG__) | RTC_ISR_INIT)& 0x0000FFFF)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) 541 #define __HAL_RTC_ALARM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) 547 #define __HAL_RTC_ALARM_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_ALARM_EVENT) 553 #define __HAL_RTC_ALARM_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_ALARM_EVENT)) 559 #define __HAL_RTC_ALARM_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_ALARM_EVENT) 565 #define __HAL_RTC_ALARM_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_ALARM_EVENT)) 571 #define __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_ALARM_EVENT) 577 #define __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT)) 583 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_ALARM_EVENT) 589 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT)) 595 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE(); 601 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE(); 607 #define __HAL_RTC_ALARM_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_ALARM_EVENT) 613 #define __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_ALARM_EVENT) 619 #define __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_ALARM_EVENT) 700 #define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7FU) 701 #define RTC_DR_RESERVED_MASK ((uint32_t)0x00FFFF3FU) 702 #define RTC_INIT_MASK ((uint32_t)0xFFFFFFFFU) 703 #define RTC_RSF_MASK ((uint32_t)0xFFFFFF5FU) 705 #define RTC_TIMEOUT_VALUE 1000 707 #define RTC_EXTI_LINE_ALARM_EVENT ((uint32_t)EXTI_IMR_IM17) 720 #define IS_RTC_HOUR_FORMAT(__FORMAT__) (((__FORMAT__) == RTC_HOURFORMAT_12) || \ 721 ((__FORMAT__) == RTC_HOURFORMAT_24)) 722 #define IS_RTC_OUTPUT_POL(__POL__) (((__POL__) == RTC_OUTPUT_POLARITY_HIGH) || \ 723 ((__POL__) == RTC_OUTPUT_POLARITY_LOW)) 724 #define IS_RTC_OUTPUT_TYPE(__TYPE__) (((__TYPE__) == RTC_OUTPUT_TYPE_OPENDRAIN) || \ 725 ((__TYPE__) == RTC_OUTPUT_TYPE_PUSHPULL)) 726 #define IS_RTC_ASYNCH_PREDIV(__PREDIV__) ((__PREDIV__) <= (uint32_t)0x7F) 727 #define IS_RTC_SYNCH_PREDIV(__PREDIV__) ((__PREDIV__) <= (uint32_t)0x7FFF) 728 #define IS_RTC_HOUR12(__HOUR__) (((__HOUR__) > (uint32_t)0) && ((__HOUR__) <= (uint32_t)12)) 729 #define IS_RTC_HOUR24(__HOUR__) ((__HOUR__) <= (uint32_t)23) 730 #define IS_RTC_MINUTES(__MINUTES__) ((__MINUTES__) <= (uint32_t)59) 731 #define IS_RTC_SECONDS(__SECONDS__) ((__SECONDS__) <= (uint32_t)59) 732 #define IS_RTC_HOURFORMAT12(__PM__) (((__PM__) == RTC_HOURFORMAT12_AM) || ((__PM__) == RTC_HOURFORMAT12_PM)) 733 #define IS_RTC_DAYLIGHT_SAVING(__SAVE__) (((__SAVE__) == RTC_DAYLIGHTSAVING_SUB1H) || \ 734 ((__SAVE__) == RTC_DAYLIGHTSAVING_ADD1H) || \ 735 ((__SAVE__) == RTC_DAYLIGHTSAVING_NONE)) 736 #define IS_RTC_STORE_OPERATION(__OPERATION__) (((__OPERATION__) == RTC_STOREOPERATION_RESET) || \ 737 ((__OPERATION__) == RTC_STOREOPERATION_SET)) 738 #define IS_RTC_FORMAT(__FORMAT__) (((__FORMAT__) == RTC_FORMAT_BIN) || ((__FORMAT__) == RTC_FORMAT_BCD)) 739 #define IS_RTC_YEAR(__YEAR__) ((__YEAR__) <= (uint32_t)99) 740 #define IS_RTC_MONTH(__MONTH__) (((__MONTH__) >= (uint32_t)1) && ((__MONTH__) <= (uint32_t)12)) 741 #define IS_RTC_DATE(__DATE__) (((__DATE__) >= (uint32_t)1) && ((__DATE__) <= (uint32_t)31)) 742 #define IS_RTC_WEEKDAY(__WEEKDAY__) (((__WEEKDAY__) == RTC_WEEKDAY_MONDAY) || \ 743 ((__WEEKDAY__) == RTC_WEEKDAY_TUESDAY) || \ 744 ((__WEEKDAY__) == RTC_WEEKDAY_WEDNESDAY) || \ 745 ((__WEEKDAY__) == RTC_WEEKDAY_THURSDAY) || \ 746 ((__WEEKDAY__) == RTC_WEEKDAY_FRIDAY) || \ 747 ((__WEEKDAY__) == RTC_WEEKDAY_SATURDAY) || \ 748 ((__WEEKDAY__) == RTC_WEEKDAY_SUNDAY)) 750 #define IS_RTC_ALARM_DATE_WEEKDAY_DATE(__DATE__) (((__DATE__) >(uint32_t) 0) && ((__DATE__) <= (uint32_t)31)) 751 #define IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(__WEEKDAY__) (((__WEEKDAY__) == RTC_WEEKDAY_MONDAY) || \ 752 ((__WEEKDAY__) == RTC_WEEKDAY_TUESDAY) || \ 753 ((__WEEKDAY__) == RTC_WEEKDAY_WEDNESDAY) || \ 754 ((__WEEKDAY__) == RTC_WEEKDAY_THURSDAY) || \ 755 ((__WEEKDAY__) == RTC_WEEKDAY_FRIDAY) || \ 756 ((__WEEKDAY__) == RTC_WEEKDAY_SATURDAY) || \ 757 ((__WEEKDAY__) == RTC_WEEKDAY_SUNDAY)) 758 #define IS_RTC_ALARM_DATE_WEEKDAY_SEL(__SEL__) (((__SEL__) == RTC_ALARMDATEWEEKDAYSEL_DATE) || \ 759 ((__SEL__) == RTC_ALARMDATEWEEKDAYSEL_WEEKDAY)) 760 #define IS_RTC_ALARM_MASK(__MASK__) (((__MASK__) & 0x7F7F7F7F) == (uint32_t)RESET) 761 #define IS_RTC_ALARM(__ALARM__) (((__ALARM__) == RTC_ALARM_A) || ((__ALARM__) == RTC_ALARM_B)) 762 #define IS_RTC_ALARM_SUB_SECOND_VALUE(__VALUE__) ((__VALUE__) <= (uint32_t)0x00007FFF) 763 #define IS_RTC_ALARM_SUB_SECOND_MASK(__MASK__) (((__MASK__) == RTC_ALARMSUBSECONDMASK_ALL) || \ 764 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_1) || \ 765 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_2) || \ 766 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_3) || \ 767 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_4) || \ 768 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_5) || \ 769 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_6) || \ 770 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_7) || \ 771 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_8) || \ 772 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_9) || \ 773 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_10) || \ 774 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_11) || \ 775 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_12) || \ 776 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_13) || \ 777 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14) || \ 778 ((__MASK__) == RTC_ALARMSUBSECONDMASK_NONE))
HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc)
uint32_t AlarmSubSecondMask
HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format)
HAL_LockTypeDef
HAL Lock structures definition.
RTC Date structure definition.
HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format)
HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
ALARM A Event Callback in non blocking mode.
RTC_TimeTypeDef AlarmTime
RTC Time structure definition.
HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc)
HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc)
void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc)
void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc)
uint32_t AlarmDateWeekDaySel
HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
uint8_t RTC_ByteToBcd2(uint8_t Value)
HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format)
__IO HAL_RTCStateTypeDef State
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc)
void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc)
RTC Handle Structure definition.
HAL_RTCStateTypeDef
HAL State structures definition.
HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
HAL_StatusTypeDef
HAL Status structures definition.
uint8_t RTC_Bcd2ToByte(uint8_t Value)
HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm)
HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
Header file of RTC HAL Extension module.
RTC Configuration Structure definition.
HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
RTC Alarm structure definition.