114#ifdef HAL_RTC_MODULE_ENABLED
119#define TAMP_ALL (TAMP_CR1_TAMP1E | TAMP_CR1_TAMP2E | TAMP_CR1_TAMP3E)
183 tmpreg |= TimeStampEdge;
189 hrtc->Instance->CR = (uint32_t)tmpreg;
242 tmpreg |= TimeStampEdge;
248 hrtc->Instance->CR = (uint32_t)tmpreg;
256#if defined(DUAL_CORE)
263 __HAL_RTC_TAMPER_TIMESTAMP_EXTID2_ENABLE_IT();
306 hrtc->Instance->CR = (uint32_t)tmpreg;
410 sTimeStampDate->
Year = 0U;
479 TAMP_TypeDef *tamp = (TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET);
495 tmpreg &= ~((sTamper->
Tamper << TAMP_CR2_TAMP1TRG_Pos) | (sTamper->
Tamper << TAMP_CR2_TAMP1MSK_Pos) | (sTamper->
Tamper << TAMP_CR2_TAMP1NOERASE_Pos));
500 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1TRG_Pos);
506 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1MSK_Pos);
512 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1NOERASE_Pos);
524 tmpreg = (
hrtc->Instance->CR & ~RTC_CR_TAMPTS);
530 tamp->CR1 |= (sTamper->
Tamper);
564 tmpreg =
hrtc->Instance->TAMPCR;
567 tmpreg |= (sTamper->
Tamper);
573 tmpreg |= (uint32_t)(sTamper->
Tamper << 1U);
578 tmpreg &= (uint32_t)~(sTamper->
Tamper << 1U);
581#if defined(RTC_TAMPNOERASE_SUPPORT)
589 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
604 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
615#if defined(RTC_TAMPMASKFLAG_SUPPORT)
623 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
638 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
655 tmpreg |= ((uint32_t)sTamper->
Filter | \
662 hrtc->Instance->TAMPCR = tmpreg;
685 TAMP_TypeDef *tamp = (TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET);
703 tmpreg &= ~((sTamper->
Tamper << TAMP_CR2_TAMP1TRG_Pos) | (sTamper->
Tamper << TAMP_CR2_TAMP1MSK_Pos) | (sTamper->
Tamper << TAMP_CR2_TAMP1NOERASE_Pos));
708 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1TRG_Pos);
714 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1MSK_Pos);
720 tmpreg |= (sTamper->
Tamper << TAMP_CR2_TAMP1NOERASE_Pos);
732 tmpreg = (
hrtc->Instance->CR & ~RTC_CR_TAMPTS);
742 tamp->IER |= sTamper->
Tamper;
745 tamp->CR1 |= sTamper->
Tamper;
780 tmpreg =
hrtc->Instance->TAMPCR;
783 tmpreg |= (sTamper->
Tamper);
789 tmpreg |= (uint32_t)(sTamper->
Tamper << 1U);
794 tmpreg &= (uint32_t)~(sTamper->
Tamper << 1U);
797#if defined(RTC_TAMPNOERASE_SUPPORT)
805 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
820 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
831#if defined(RTC_TAMPMASKFLAG_SUPPORT)
839 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
854 if ((sTamper->
Tamper & RTC_TAMPER_2) != 0U)
871 tmpreg |= ((uint32_t)sTamper->
Filter | \
881 hrtc->Instance->TAMPCR = tmpreg;
884#if defined(DUAL_CORE)
891 __HAL_RTC_TAMPER_TIMESTAMP_EXTID2_ENABLE_IT();
921 TAMP_TypeDef *tamp = (TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET);
926 tamp->CR1 &= ~Tamper;
929 tamp->IER &= ~Tamper;
935 tamp->CR2 &= ~((Tamper << TAMP_CR2_TAMP1TRG_Pos) | (Tamper << TAMP_CR2_TAMP1MSK_Pos) | (Tamper << TAMP_CR2_TAMP1NOERASE_Pos));
961 hrtc->Instance->TAMPCR &= ((uint32_t)~Tamper);
963#if defined(RTC_TAMPxIE_SUPPORT)
970#if defined(RTC_TAMPER2_SUPPORT)
971 if ((Tamper & RTC_TAMPER_2) != 0U)
1009 if (
READ_BIT(
RTC->CR, RTC_CR_TAMPTS) != sIntTamper->TimeStampOnTamperDetection)
1012 MODIFY_REG(
RTC->CR, RTC_CR_TAMPTS, sIntTamper->TimeStampOnTamperDetection);
1017 SET_BIT(TAMP->CR1, sIntTamper->IntTamper);
1035 if (
READ_BIT(
RTC->CR, RTC_CR_TAMPTS) != sIntTamper->TimeStampOnTamperDetection)
1038 MODIFY_REG(
RTC->CR, RTC_CR_TAMPTS, sIntTamper->TimeStampOnTamperDetection);
1046 SET_BIT(TAMP->IER, sIntTamper->IntTamper);
1049 SET_BIT(TAMP->CR1, sIntTamper->IntTamper);
1086 uint32_t IER, CR1, CR2, ATCR1, CR, i, tickstart;
1088#ifdef USE_FULL_ASSERT
1089 for (i = 0; i < RTC_TAMP_NB; i++)
1101 if (
READ_BIT(TAMP->ATOR, TAMP_ATOR_INITS) != 0U)
1104 if (HAL_RTCEx_DeactivateActiveTampers(
hrtc) !=
HAL_OK)
1112 if ((CR & RTC_CR_TAMPTS) != (sAllTamper->TimeStampOnTamperDetection))
1115 MODIFY_REG(
RTC->CR, RTC_CR_TAMPTS, sAllTamper->TimeStampOnTamperDetection);
1124 ATCR1 = (sAllTamper->ActiveFilter | (sAllTamper->ActiveOutputChangePeriod << TAMP_ATCR1_ATPER_Pos) | sAllTamper->ActiveAsyncPrescaler);
1127 for (i = 0; i < RTC_TAMP_NB; i++)
1131 CR1 |= (TAMP_CR1_TAMP1E << i);
1132 ATCR1 |= (TAMP_ATCR1_TAMP1AM << i);
1141 IER |= (TAMP_IER_TAMP1IE << i);
1146 CR2 |= (TAMP_CR2_TAMP1MSK << i);
1151 CR2 |= (TAMP_CR2_TAMP1NOERASE << i);
1155 if (sAllTamper->TampInput[i].Output != i)
1157 ATCR1 |= TAMP_ATCR1_ATOSHARE;
1158 ATCR1 |= sAllTamper->TampInput[i].Output << ((2u * i) + TAMP_ATCR1_ATOSEL1_Pos);
1165#if defined(TAMP_ATCR2_ATOSEL1)
1172 for (i = 0; i < RTC_ATAMP_SEED_NB_UINT32; i++)
1174 WRITE_REG(TAMP->ATSEEDR, sAllTamper->Seed[i]);
1179 while (
READ_BIT(TAMP->ATOR, TAMP_ATOR_SEEDF) != 0u)
1199 uint32_t i, tickstart;
1202 if (
READ_BIT(TAMP->ATOR, TAMP_ATOR_INITS) == 0U)
1207 for (i = 0; i < RTC_ATAMP_SEED_NB_UINT32; i++)
1214 while (
READ_BIT(TAMP->ATOR, TAMP_ATOR_SEEDF) != 0U)
1234 uint32_t ATamp_mask =
READ_BIT(TAMP->ATCR1, TAMP_ALL);
1240 CLEAR_BIT(TAMP->CR2, (ATamp_mask | ((ATamp_mask & (TAMP_ATCR1_TAMP1AM | TAMP_ATCR1_TAMP2AM | TAMP_ATCR1_TAMP3AM)) << TAMP_CR2_TAMP1MSK_Pos)));
1248 CLEAR_BIT(TAMP->ATCR1, TAMP_ALL | TAMP_ATCR1_ATCKSEL | TAMP_ATCR1_ATPER | \
1249 TAMP_ATCR1_ATOSHARE | TAMP_ATCR1_FLTEN);
1251#if defined(TAMP_ATCR2_ATOSEL1)
1252 CLEAR_BIT(TAMP->ATCR2, TAMP_ATCR2_ATOSEL1 | TAMP_ATCR2_ATOSEL2 | TAMP_ATCR2_ATOSEL3 | TAMP_ATCR2_ATOSEL4 |
1253 TAMP_ATCR2_ATOSEL5 | TAMP_ATCR2_ATOSEL6 | TAMP_ATCR2_ATOSEL7 | TAMP_ATCR2_ATOSEL8);
1280 TAMP_TypeDef *tamp = (TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET);
1285 if ((
hrtc->Instance->MISR & RTC_MISR_TSMF) != 0u)
1287#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1289 hrtc->TimeStampEventCallback(
hrtc);
1294 hrtc->Instance->SCR = RTC_SCR_CTSF;
1298 uint32_t tmp = tamp->MISR;
1306#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1315#if defined(RTC_TAMPER2_SUPPORT)
1317 if ((tmp & RTC_TAMPER_2) == RTC_TAMPER_2)
1319#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1324 HAL_RTCEx_Tamper2EventCallback(
hrtc);
1332#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1342 if ((tmp & RTC_INT_TAMPER_1) == RTC_INT_TAMPER_1)
1344#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1346 hrtc->InternalTamper1EventCallback(
hrtc);
1349 HAL_RTCEx_InternalTamper1EventCallback(
hrtc);
1354 if ((tmp & RTC_INT_TAMPER_2) == RTC_INT_TAMPER_2)
1356#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1358 hrtc->InternalTamper2EventCallback(
hrtc);
1361 HAL_RTCEx_InternalTamper2EventCallback(
hrtc);
1366 if ((tmp & RTC_INT_TAMPER_3) == RTC_INT_TAMPER_3)
1368#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1370 hrtc->InternalTamper3EventCallback(
hrtc);
1373 HAL_RTCEx_InternalTamper3EventCallback(
hrtc);
1378 if ((tmp & RTC_INT_TAMPER_4) == RTC_INT_TAMPER_4)
1380#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1382 hrtc->InternalTamper4EventCallback(
hrtc);
1385 HAL_RTCEx_InternalTamper4EventCallback(
hrtc);
1390 if ((tmp & RTC_INT_TAMPER_5) == RTC_INT_TAMPER_5)
1392#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1394 hrtc->InternalTamper5EventCallback(
hrtc);
1397 HAL_RTCEx_InternalTamper5EventCallback(
hrtc);
1402 if ((tmp & RTC_INT_TAMPER_6) == RTC_INT_TAMPER_6)
1404#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1406 hrtc->InternalTamper6EventCallback(
hrtc);
1409 HAL_RTCEx_InternalTamper6EventCallback(
hrtc);
1414 if ((tmp & RTC_INT_TAMPER_8) == RTC_INT_TAMPER_8)
1416#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1418 hrtc->InternalTamper8EventCallback(
hrtc);
1421 HAL_RTCEx_InternalTamper8EventCallback(
hrtc);
1432#if defined(DUAL_CORE)
1439 __HAL_RTC_TAMPER_TIMESTAMP_EXTID2_CLEAR_FLAG();
1452#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1453 hrtc->TimeStampEventCallback(
hrtc);
1464#if defined(RTC_TAMPxIE_SUPPORT)
1477#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1486#if defined(RTC_TAMPER2_SUPPORT)
1487#if defined(RTC_TAMPxIE_SUPPORT)
1500#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1503 HAL_RTCEx_Tamper2EventCallback(
hrtc);
1510#if defined(RTC_TAMPxIE_SUPPORT)
1523#if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
1576#if defined(RTC_TAMPER2_SUPPORT)
1750 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1789 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1806#if defined(RTC_TAMPER2_SUPPORT)
1822 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1855 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1889 while (
READ_BIT(TAMP->SR, IntTamper) != IntTamper)
1893 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1984 uint32_t CR_tmp =
hrtc->Instance->CR;
1986 CR_tmp |= (uint32_t)WakeUpClock;
1987 hrtc->Instance->CR = CR_tmp;
1990 hrtc->Instance->WUTR = (uint32_t)WakeUpCounter;
2065 hrtc->Instance->WUTR = (uint32_t)WakeUpCounter;
2069 uint32_t CR_tmp =
hrtc->Instance->CR;
2071 CR_tmp |= (uint32_t)WakeUpClock;
2072 hrtc->Instance->CR = CR_tmp;
2076#if defined(DUAL_CORE)
2083 __HAL_RTC_WAKEUPTIMER_EXTID2_ENABLE_IT();
2183#if defined(DUAL_CORE)
2190 __HAL_RTC_WAKEUPTIMER_EXTID2_CLEAR_FLAG();
2198 if ((
hrtc->Instance->MISR & RTC_MISR_WUTMF) != 0u)
2201 hrtc->Instance->SCR = RTC_SCR_CWUTF;
2204 #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
2206 hrtc->WakeUpTimerEventCallback(
hrtc);
2219 #if (USE_HAL_RTC_REGISTER_CALLBACKS == 1)
2221 hrtc->WakeUpTimerEventCallback(
hrtc);
2262 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
2322 tmp = (uint32_t) &(((TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET))->BKP0R);
2324 tmp = (uint32_t) &(
hrtc->Instance->BKP0R);
2327 tmp += (BackupRegister * 4U);
2330 *(
__IO uint32_t *)tmp = (uint32_t)Data;
2351 tmp = (uint32_t) &(((TAMP_TypeDef *)((uint32_t)
hrtc->Instance + TAMP_OFFSET))->BKP0R);
2353 tmp = (uint32_t) &(
hrtc->Instance->BKP0R);
2356 tmp += (BackupRegister * 4U);
2359 return (*(
__IO uint32_t *)tmp);
2432 if ((
hrtc->Instance->ICSR & RTC_ICSR_RECALPF) != 0U)
2437 while ((
hrtc->Instance->ICSR & RTC_ICSR_RECALPF) != 0U)
2511 while ((
hrtc->Instance->ICSR & RTC_ICSR_SHPF) != 0U)
2534 hrtc->Instance->SHIFTR = (uint32_t)(uint32_t)(ShiftSubFS) | (uint32_t)(ShiftAdd1S);
2605 hrtc->Instance->CR |= (uint32_t)CalibOutput;
2884 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
#define __IO
Defines 'read / write' permissions.
uint32_t HAL_GetCurrentCPUID(void)
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define WRITE_REG(REG, VAL)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define READ_BIT(REG, BIT)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define RTC_TAMPCR_TAMP2NOERASE
#define RTC_TAMPCR_TAMP3MF
#define RTC_TAMPCR_TAMP2MF
#define RTC_TAMPCR_TAMP3NOERASE
#define RTC_TAMPCR_TAMP1MF
#define RTC_TAMPCR_TAMP1NOERASE
#define RTC_ATAMP_DISABLE
#define RTC_ATAMP_INTERRUPT_DISABLE
HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_DeactivateInternalTimeStamp(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetInternalTimeStamp(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_DateTypeDef *sTimeStampDate, uint32_t Format)
void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin)
HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin)
void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
HAL_StatusTypeDef HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc)
void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc)
uint32_t HAL_RTCEx_GetWakeUpTimer(const RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock)
HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock)
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS)
HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue)
HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput)
void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, const RTC_TamperTypeDef *sTamper)
void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, const RTC_TamperTypeDef *sTamper)
void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout)
HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper)
void HAL_RTCEx_BKUPWrite(const RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data)
uint32_t HAL_RTCEx_BKUPRead(const RTC_HandleTypeDef *hrtc, uint32_t BackupRegister)
#define __HAL_RTC_TIMESTAMP_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the RTC TimeStamp interrupt.
#define __HAL_RTC_WAKEUPTIMER_DISABLE(__HANDLE__)
Disable the RTC WakeUp Timer peripheral.
#define __HAL_RTC_WAKEUPTIMER_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected RTC WakeUpTimer's flag status.
#define __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(__HANDLE__)
Enable the RTC calibration output.
#define __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG()
Clear the RTC WakeUp Timer associated Exti line flag.
#define __HAL_RTC_CLOCKREF_DETECTION_ENABLE(__HANDLE__)
Enable the clock reference detection.
#define __HAL_RTC_INTERNAL_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the RTC Internal Time Stamp's pending flags.
#define __HAL_RTC_TIMESTAMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
Check whether the specified RTC Time Stamp interrupt has been enabled or not.
#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE()
Enable rising edge trigger on the RTC Tamper and Timestamp associated Exti line.
#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_FALLING_EDGE()
Enable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
#define __HAL_RTC_WAKEUPTIMER_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the RTC WakeUpTimer interrupt.
#define __HAL_RTC_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected RTC TimeStamp's flag status.
#define __HAL_RTC_CLOCKREF_DETECTION_DISABLE(__HANDLE__)
Disable the clock reference detection.
#define __HAL_RTC_WAKEUPTIMER_ENABLE(__HANDLE__)
Enable the RTC WakeUp Timer peripheral.
#define __HAL_RTC_WAKEUPTIMER_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the RTC WakeUpTimer interrupt.
#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT()
Enable interrupt on the RTC Tamper and Timestamp associated Exti line.
#define __HAL_RTC_TIMESTAMP_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the RTC TimeStamp interrupt.
#define __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(__HANDLE__)
Disable the calibration output.
#define __HAL_RTC_INTERNAL_TIMESTAMP_DISABLE(__HANDLE__)
Disable the RTC internal TimeStamp peripheral.
#define __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the RTC Wake Up timer's pending flags.
#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE()
Enable rising edge trigger on the RTC WakeUp Timer associated Exti line.
#define __HAL_RTC_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the RTC Time Stamp's pending flags.
#define __HAL_RTC_TIMESTAMP_ENABLE(__HANDLE__)
Enable the RTC TimeStamp peripheral.
#define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the RTC Tamper's pending flags.
#define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG()
Clear the RTC Tamper and Timestamp associated Exti line flag.
#define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
Check whether the specified RTC Tamper interrupt has been enabled or not.
#define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT()
Enable interrupt on the RTC WakeUp Timer associated Exti line.
#define __HAL_RTC_INTERNAL_TIMESTAMP_ENABLE(__HANDLE__)
Enable the RTC internal TimeStamp peripheral.
#define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected RTC Tamper's flag status.
#define IS_RTC_TAMPER(__TAMPER__)
#define IS_RTC_TAMPER_ERASE_MODE(__MODE__)
#define IS_RTC_SMOOTH_CALIB_MINUS(VALUE)
#define IS_RTC_SHIFT_ADD1S(SEL)
#define IS_RTC_TAMPER_SAMPLING_FREQ(__FREQ__)
#define IS_TIMESTAMP_EDGE(EDGE)
#define IS_RTC_TIMESTAMP_PIN(PIN)
#define IS_RTC_TAMPER_PRECHARGE_DURATION(__DURATION__)
#define IS_RTC_WAKEUP_COUNTER(COUNTER)
#define IS_RTC_SMOOTH_CALIB_PERIOD(PERIOD)
#define IS_RTC_TAMPER_INTERRUPT(__INTERRUPT__)
#define IS_RTC_TAMPER_FILTER(__FILTER__)
#define IS_RTC_BKP(__BKP__)
#define IS_RTC_SHIFT_SUBFS(FS)
#define IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(__DETECTION__)
#define IS_RTC_TAMPER_TRIGGER(__TRIGGER__)
#define IS_RTC_WAKEUP_CLOCK(CLOCK)
#define IS_RTC_TAMPER_MASKFLAG_STATE(__STATE__)
#define IS_RTC_SMOOTH_CALIB_PLUS(PLUS)
#define IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(FILTER, TRIGGER)
#define IS_RTC_CALIB_OUTPUT(OUTPUT)
#define IS_RTC_TAMPER_PULLUP_STATE(__STATE__)
#define IS_RTC_INTERNAL_TAMPER(__INT_TAMPER__)
#define RTC_TAMPER_ERASE_BACKUP_ENABLE
< These values are not applicable to the STM32H723/33, STM32H725/35 and STM32H730 devices,...
#define RTC_TAMPERFILTER_MASK
Masking all bits except those of field TAMPFLT[1:0].
#define RTC_IT_TAMP1
Enable Tamper Interrupt.
#define RTC_IT_TAMP
Enable all Tamper Interrupts.
#define RTC_TAMPERMASK_FLAG_DISABLE
< These values are not applicable to the STM32H723/33, STM32H725/35 and STM32H730 devices,...
#define RTC_TAMPERPRECHARGEDURATION_MASK
Masking all bits except those of field TAMPPRCH[1:0].
#define RTC_TAMPER_PULLUP_MASK
Maskin all bits except bit TAMPPUDIS.
#define RTC_TAMPERSAMPLINGFREQ_RTCCLK_MASK
Masking all bits except those of field TAMPFREQ[2:0].
#define RTC_TIMESTAMPONTAMPERDETECTION_MASK
Masking all bits except bit TAMPTS.
#define RTC_TAMPERTRIGGER_HIGHLEVEL
Warning : Filter must not be RTC_TAMPERFILTER_DISABLE.
#define RTC_TAMPERTRIGGER_FALLINGEDGE
Warning : Filter must be RTC_TAMPERFILTER_DISABLE.
HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc)
#define __HAL_RTC_ALARM_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the RTC Alarm's pending flags.
#define __HAL_RTC_WRITEPROTECTION_ENABLE(__HANDLE__)
Enable the write protection for RTC registers.
#define __HAL_RTC_ALARM_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected RTC Alarm's flag status.
#define __HAL_RTC_WRITEPROTECTION_DISABLE(__HANDLE__)
Disable the write protection for RTC registers.
@ HAL_RTC_STATE_TIMEOUT
RTC timeout state.
@ HAL_RTC_STATE_ERROR
RTC error state.
@ HAL_RTC_STATE_READY
RTC initialized and ready for use.
@ HAL_RTC_STATE_BUSY
RTC process is ongoing.
#define IS_RTC_FORMAT(FORMAT)
#define RTC_IT_TS
Enable Timestamp Interrupt.
#define RTC_IT_WUT
Enable Wakeup timer Interrupt.
#define RTC_DR_RESERVED_MASK
#define RTC_TIMEOUT_VALUE
#define RTC_TR_RESERVED_MASK
HAL_StatusTypeDef RTC_ExitInitMode(RTC_HandleTypeDef *hrtc)
HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc)
uint8_t RTC_Bcd2ToByte(uint8_t Value)
This file contains all the functions prototypes for the HAL module driver.
#define assert_param(expr)
Uncomment the line below to expanse the "assert_param" macro in the HAL drivers code.
HAL_StatusTypeDef
HAL Status structures definition.
#define __HAL_UNLOCK(__HANDLE__)
#define __HAL_LOCK(__HANDLE__)
RTC Date structure definition.
uint8_t Year
Specifies the RTC Date Year.
uint8_t Month
Specifies the RTC Date Month (in BCD format).
uint8_t Date
Specifies the RTC Date.
uint8_t WeekDay
Specifies the RTC Date WeekDay.
RTC Handle Structure definition.
uint32_t Trigger
Specifies the Tamper Trigger.
uint32_t SamplingFrequency
Specifies the sampling frequency.
uint32_t Filter
Specifies the TAMP Filter Tamper.
uint32_t TamperPullUp
Specifies the Tamper PullUp .
uint32_t Tamper
Specifies the Tamper Pin.
uint32_t NoErase
Specifies the Tamper no erase mode.
uint32_t PrechargeDuration
Specifies the Precharge Duration .
uint32_t Interrupt
Specifies the Tamper Interrupt.
uint32_t TimeStampOnTamperDetection
Specifies the TimeStampOnTamperDetection.
uint32_t MaskFlag
Specifies the Tamper Flag masking.
RTC Time structure definition.
uint8_t Seconds
Specifies the RTC Time Seconds.
uint8_t Minutes
Specifies the RTC Time Minutes.
uint8_t TimeFormat
Specifies the RTC AM/PM Time.
uint32_t SubSeconds
Specifies the RTC_SSR RTC Sub Second register content.
uint8_t Hours
Specifies the RTC Time Hour.