21 #ifndef STM32L4xx_LL_RTC_H 22 #define STM32L4xx_LL_RTC_H 29 #include "stm32l4xx.h" 48 #define RTC_LL_INIT_MASK 0xFFFFFFFFU 49 #define RTC_LL_RSF_MASK 0xFFFFFF5FU 52 #define RTC_WRITE_PROTECTION_DISABLE 0xFFU 53 #define RTC_WRITE_PROTECTION_ENABLE_1 0xCAU 54 #define RTC_WRITE_PROTECTION_ENABLE_2 0x53U 57 #define RTC_OFFSET_WEEKDAY 24U 58 #define RTC_OFFSET_DAY 16U 59 #define RTC_OFFSET_MONTH 8U 60 #define RTC_OFFSET_HOUR 16U 61 #define RTC_OFFSET_MINUTE 8U 68 #if defined(USE_FULL_LL_DRIVER) 78 #if defined(USE_FULL_LL_DRIVER) 204 #if defined(USE_FULL_LL_DRIVER) 208 #define LL_RTC_FORMAT_BIN 0x000000000U 209 #define LL_RTC_FORMAT_BCD 0x000000001U 217 #define LL_RTC_ALMA_DATEWEEKDAYSEL_DATE 0x00000000U 218 #define LL_RTC_ALMA_DATEWEEKDAYSEL_WEEKDAY RTC_ALRMAR_WDSEL 226 #define LL_RTC_ALMB_DATEWEEKDAYSEL_DATE 0x00000000U 227 #define LL_RTC_ALMB_DATEWEEKDAYSEL_WEEKDAY RTC_ALRMBR_WDSEL 238 #if defined(STM32L412xx) || defined(STM32L422xx) 239 #define LL_RTC_SCR_ITSF RTC_SCR_CITSF 240 #define LL_RTC_SCR_TSOVF RTC_SCR_CTSOVF 241 #define LL_RTC_SCR_TSF RTC_SCR_CTSF 242 #define LL_RTC_SCR_WUTF RTC_SCR_CWUTF 243 #define LL_RTC_SCR_ALRBF RTC_SCR_CALRBF 244 #define LL_RTC_CSR_ALRAF RTC_SCR_CALRAF 246 #define LL_RTC_ICSR_RECALPF RTC_ICSR_RECALPF 247 #define LL_RTC_ICSR_INITF RTC_ICSR_INITF 248 #define LL_RTC_ICSR_RSF RTC_ICSR_RSF 249 #define LL_RTC_ICSR_INITS RTC_ICSR_INITS 250 #define LL_RTC_ICSR_SHPF RTC_ICSR_SHPF 251 #define LL_RTC_ICSR_WUTWF RTC_ICSR_WUTWF 253 #define LL_RTC_ISR_ITSF RTC_ISR_ITSF 254 #define LL_RTC_ISR_RECALPF RTC_ISR_RECALPF 255 #define LL_RTC_ISR_TAMP3F RTC_ISR_TAMP3F 256 #define LL_RTC_ISR_TAMP2F RTC_ISR_TAMP2F 257 #define LL_RTC_ISR_TAMP1F RTC_ISR_TAMP1F 258 #define LL_RTC_ISR_TSOVF RTC_ISR_TSOVF 259 #define LL_RTC_ISR_TSF RTC_ISR_TSF 260 #define LL_RTC_ISR_WUTF RTC_ISR_WUTF 261 #define LL_RTC_ISR_ALRBF RTC_ISR_ALRBF 262 #define LL_RTC_ISR_ALRAF RTC_ISR_ALRAF 263 #define LL_RTC_ISR_INITF RTC_ISR_INITF 264 #define LL_RTC_ISR_RSF RTC_ISR_RSF 265 #define LL_RTC_ISR_INITS RTC_ISR_INITS 266 #define LL_RTC_ISR_SHPF RTC_ISR_SHPF 267 #define LL_RTC_ISR_WUTWF RTC_ISR_WUTWF 268 #define LL_RTC_ISR_ALRBWF RTC_ISR_ALRBWF 269 #define LL_RTC_ISR_ALRAWF RTC_ISR_ALRAWF 279 #define LL_RTC_CR_TSIE RTC_CR_TSIE 280 #define LL_RTC_CR_WUTIE RTC_CR_WUTIE 281 #define LL_RTC_CR_ALRBIE RTC_CR_ALRBIE 282 #define LL_RTC_CR_ALRAIE RTC_CR_ALRAIE 283 #if defined(STM32L412xx) || defined(STM32L422xx) 285 #define LL_RTC_TAMPCR_TAMP3IE RTC_TAMPCR_TAMP3IE 286 #define LL_RTC_TAMPCR_TAMP2IE RTC_TAMPCR_TAMP2IE 287 #define LL_RTC_TAMPCR_TAMP1IE RTC_TAMPCR_TAMP1IE 288 #define LL_RTC_TAMPCR_TAMPIE RTC_TAMPCR_TAMPIE 297 #define LL_RTC_WEEKDAY_MONDAY (uint8_t)0x01 298 #define LL_RTC_WEEKDAY_TUESDAY (uint8_t)0x02 299 #define LL_RTC_WEEKDAY_WEDNESDAY (uint8_t)0x03 300 #define LL_RTC_WEEKDAY_THURSDAY (uint8_t)0x04 301 #define LL_RTC_WEEKDAY_FRIDAY (uint8_t)0x05 302 #define LL_RTC_WEEKDAY_SATURDAY (uint8_t)0x06 303 #define LL_RTC_WEEKDAY_SUNDAY (uint8_t)0x07 311 #define LL_RTC_MONTH_JANUARY (uint8_t)0x01 312 #define LL_RTC_MONTH_FEBRUARY (uint8_t)0x02 313 #define LL_RTC_MONTH_MARCH (uint8_t)0x03 314 #define LL_RTC_MONTH_APRIL (uint8_t)0x04 315 #define LL_RTC_MONTH_MAY (uint8_t)0x05 316 #define LL_RTC_MONTH_JUNE (uint8_t)0x06 317 #define LL_RTC_MONTH_JULY (uint8_t)0x07 318 #define LL_RTC_MONTH_AUGUST (uint8_t)0x08 319 #define LL_RTC_MONTH_SEPTEMBER (uint8_t)0x09 320 #define LL_RTC_MONTH_OCTOBER (uint8_t)0x10 321 #define LL_RTC_MONTH_NOVEMBER (uint8_t)0x11 322 #define LL_RTC_MONTH_DECEMBER (uint8_t)0x12 330 #define LL_RTC_HOURFORMAT_24HOUR 0x00000000U 331 #define LL_RTC_HOURFORMAT_AMPM RTC_CR_FMT 339 #define LL_RTC_ALARMOUT_DISABLE 0x00000000U 340 #define LL_RTC_ALARMOUT_ALMA RTC_CR_OSEL_0 341 #define LL_RTC_ALARMOUT_ALMB RTC_CR_OSEL_1 342 #define LL_RTC_ALARMOUT_WAKEUP RTC_CR_OSEL 350 #if defined(STM32L412xx) || defined(STM32L422xx) 351 #define LL_RTC_ALARM_OUTPUTTYPE_OPENDRAIN RTC_CR_TAMPALRM_TYPE 352 #define LL_RTC_ALARM_OUTPUTTYPE_PUSHPULL 0x00000000U 354 #define LL_RTC_ALARM_OUTPUTTYPE_OPENDRAIN 0x00000000U 355 #define LL_RTC_ALARM_OUTPUTTYPE_PUSHPULL RTC_OR_ALARMOUTTYPE 364 #define LL_RTC_OUTPUTPOLARITY_PIN_HIGH 0x00000000U 365 #define LL_RTC_OUTPUTPOLARITY_PIN_LOW RTC_CR_POL 373 #define LL_RTC_TIME_FORMAT_AM_OR_24 0x00000000U 374 #define LL_RTC_TIME_FORMAT_PM RTC_TR_PM 382 #define LL_RTC_SHIFT_SECOND_DELAY 0x00000000U 383 #define LL_RTC_SHIFT_SECOND_ADVANCE RTC_SHIFTR_ADD1S 391 #define LL_RTC_ALMA_MASK_NONE 0x00000000U 392 #define LL_RTC_ALMA_MASK_DATEWEEKDAY RTC_ALRMAR_MSK4 393 #define LL_RTC_ALMA_MASK_HOURS RTC_ALRMAR_MSK3 394 #define LL_RTC_ALMA_MASK_MINUTES RTC_ALRMAR_MSK2 395 #define LL_RTC_ALMA_MASK_SECONDS RTC_ALRMAR_MSK1 396 #define LL_RTC_ALMA_MASK_ALL (RTC_ALRMAR_MSK4 | RTC_ALRMAR_MSK3 | RTC_ALRMAR_MSK2 | RTC_ALRMAR_MSK1) 404 #define LL_RTC_ALMA_TIME_FORMAT_AM 0x00000000U 405 #define LL_RTC_ALMA_TIME_FORMAT_PM RTC_ALRMAR_PM 413 #define LL_RTC_ALMB_MASK_NONE 0x00000000U 414 #define LL_RTC_ALMB_MASK_DATEWEEKDAY RTC_ALRMBR_MSK4 415 #define LL_RTC_ALMB_MASK_HOURS RTC_ALRMBR_MSK3 416 #define LL_RTC_ALMB_MASK_MINUTES RTC_ALRMBR_MSK2 417 #define LL_RTC_ALMB_MASK_SECONDS RTC_ALRMBR_MSK1 418 #define LL_RTC_ALMB_MASK_ALL (RTC_ALRMBR_MSK4 | RTC_ALRMBR_MSK3 | RTC_ALRMBR_MSK2 | RTC_ALRMBR_MSK1) 426 #define LL_RTC_ALMB_TIME_FORMAT_AM 0x00000000U 427 #define LL_RTC_ALMB_TIME_FORMAT_PM RTC_ALRMBR_PM 435 #define LL_RTC_TIMESTAMP_EDGE_RISING 0x00000000U 436 #define LL_RTC_TIMESTAMP_EDGE_FALLING RTC_CR_TSEDGE 444 #define LL_RTC_TS_TIME_FORMAT_AM 0x00000000U 445 #define LL_RTC_TS_TIME_FORMAT_PM RTC_TSTR_PM 450 #if defined(STM32L412xx) || defined(STM32L422xx) 454 #define LL_RTC_TAMPER_1 TAMP_CR1_TAMP1E 455 #define LL_RTC_TAMPER_2 TAMP_CR1_TAMP2E 463 #define LL_RTC_TAMPER_MASK_TAMPER1 TAMP_CR2_TAMP1MSK 464 #define LL_RTC_TAMPER_MASK_TAMPER2 TAMP_CR2_TAMP2MSK 472 #define LL_RTC_TAMPER_NOERASE_TAMPER1 TAMP_CR2_TAMP1NOERASE 473 #define LL_RTC_TAMPER_NOERASE_TAMPER2 TAMP_CR2_TAMP2NOERASE 481 #define LL_RTC_TAMPER_DURATION_1RTCCLK 0x00000000U 482 #define LL_RTC_TAMPER_DURATION_2RTCCLK TAMP_FLTCR_TAMPPRCH_0 483 #define LL_RTC_TAMPER_DURATION_4RTCCLK TAMP_FLTCR_TAMPPRCH_1 484 #define LL_RTC_TAMPER_DURATION_8RTCCLK TAMP_FLTCR_TAMPPRCH 492 #define LL_RTC_TAMPER_FILTER_DISABLE 0x00000000U 493 #define LL_RTC_TAMPER_FILTER_2SAMPLE TAMP_FLTCR_TAMPFLT_0 494 #define LL_RTC_TAMPER_FILTER_4SAMPLE TAMP_FLTCR_TAMPFLT_1 495 #define LL_RTC_TAMPER_FILTER_8SAMPLE TAMP_FLTCR_TAMPFLT 503 #define LL_RTC_TAMPER_SAMPLFREQDIV_32768 0x00000000U 504 #define LL_RTC_TAMPER_SAMPLFREQDIV_16384 TAMP_FLTCR_TAMPFREQ_0 505 #define LL_RTC_TAMPER_SAMPLFREQDIV_8192 TAMP_FLTCR_TAMPFREQ_1 506 #define LL_RTC_TAMPER_SAMPLFREQDIV_4096 (TAMP_FLTCR_TAMPFREQ_1 | TAMP_FLTCR_TAMPFREQ_0) 507 #define LL_RTC_TAMPER_SAMPLFREQDIV_2048 TAMP_FLTCR_TAMPFREQ_2 508 #define LL_RTC_TAMPER_SAMPLFREQDIV_1024 (TAMP_FLTCR_TAMPFREQ_2 | TAMP_FLTCR_TAMPFREQ_0) 509 #define LL_RTC_TAMPER_SAMPLFREQDIV_512 (TAMP_FLTCR_TAMPFREQ_2 | TAMP_FLTCR_TAMPFREQ_1) 510 #define LL_RTC_TAMPER_SAMPLFREQDIV_256 TAMP_FLTCR_TAMPFREQ 518 #define LL_RTC_TAMPER_ACTIVELEVEL_TAMP1 TAMP_CR2_TAMP1TRG 519 #define LL_RTC_TAMPER_ACTIVELEVEL_TAMP2 TAMP_CR2_TAMP2TRG 529 #if defined(RTC_TAMPER1_SUPPORT) 530 #define LL_RTC_TAMPER_1 RTC_TAMPCR_TAMP1E 532 #if defined(RTC_TAMPER2_SUPPORT) 533 #define LL_RTC_TAMPER_2 RTC_TAMPCR_TAMP2E 535 #if defined(RTC_TAMPER3_SUPPORT) 536 #define LL_RTC_TAMPER_3 RTC_TAMPCR_TAMP3E 545 #if defined(RTC_TAMPER1_SUPPORT) 546 #define LL_RTC_TAMPER_MASK_TAMPER1 RTC_TAMPCR_TAMP1MF 548 #if defined(RTC_TAMPER2_SUPPORT) 549 #define LL_RTC_TAMPER_MASK_TAMPER2 RTC_TAMPCR_TAMP2MF 551 #if defined(RTC_TAMPER3_SUPPORT) 552 #define LL_RTC_TAMPER_MASK_TAMPER3 RTC_TAMPCR_TAMP3MF 561 #if defined(RTC_TAMPER1_SUPPORT) 562 #define LL_RTC_TAMPER_NOERASE_TAMPER1 RTC_TAMPCR_TAMP1NOERASE 564 #if defined(RTC_TAMPER2_SUPPORT) 565 #define LL_RTC_TAMPER_NOERASE_TAMPER2 RTC_TAMPCR_TAMP2NOERASE 567 #if defined(RTC_TAMPER3_SUPPORT) 568 #define LL_RTC_TAMPER_NOERASE_TAMPER3 RTC_TAMPCR_TAMP3NOERASE 574 #if defined(RTC_TAMPCR_TAMPPRCH) 578 #define LL_RTC_TAMPER_DURATION_1RTCCLK 0x00000000U 579 #define LL_RTC_TAMPER_DURATION_2RTCCLK RTC_TAMPCR_TAMPPRCH_0 580 #define LL_RTC_TAMPER_DURATION_4RTCCLK RTC_TAMPCR_TAMPPRCH_1 581 #define LL_RTC_TAMPER_DURATION_8RTCCLK RTC_TAMPCR_TAMPPRCH 587 #if defined(RTC_TAMPCR_TAMPFLT) 591 #define LL_RTC_TAMPER_FILTER_DISABLE 0x00000000U 592 #define LL_RTC_TAMPER_FILTER_2SAMPLE RTC_TAMPCR_TAMPFLT_0 593 #define LL_RTC_TAMPER_FILTER_4SAMPLE RTC_TAMPCR_TAMPFLT_1 594 #define LL_RTC_TAMPER_FILTER_8SAMPLE RTC_TAMPCR_TAMPFLT 600 #if defined(RTC_TAMPCR_TAMPFREQ) 604 #define LL_RTC_TAMPER_SAMPLFREQDIV_32768 0x00000000U 605 #define LL_RTC_TAMPER_SAMPLFREQDIV_16384 RTC_TAMPCR_TAMPFREQ_0 606 #define LL_RTC_TAMPER_SAMPLFREQDIV_8192 RTC_TAMPCR_TAMPFREQ_1 607 #define LL_RTC_TAMPER_SAMPLFREQDIV_4096 (RTC_TAMPCR_TAMPFREQ_1 | RTC_TAMPCR_TAMPFREQ_0) 608 #define LL_RTC_TAMPER_SAMPLFREQDIV_2048 RTC_TAMPCR_TAMPFREQ_2 609 #define LL_RTC_TAMPER_SAMPLFREQDIV_1024 (RTC_TAMPCR_TAMPFREQ_2 | RTC_TAMPCR_TAMPFREQ_0) 610 #define LL_RTC_TAMPER_SAMPLFREQDIV_512 (RTC_TAMPCR_TAMPFREQ_2 | RTC_TAMPCR_TAMPFREQ_1) 611 #define LL_RTC_TAMPER_SAMPLFREQDIV_256 RTC_TAMPCR_TAMPFREQ 620 #if defined(RTC_TAMPER1_SUPPORT) 621 #define LL_RTC_TAMPER_ACTIVELEVEL_TAMP1 RTC_TAMPCR_TAMP1TRG 623 #if defined(RTC_TAMPER2_SUPPORT) 624 #define LL_RTC_TAMPER_ACTIVELEVEL_TAMP2 RTC_TAMPCR_TAMP2TRG 626 #if defined(RTC_TAMPER3_SUPPORT) 627 #define LL_RTC_TAMPER_ACTIVELEVEL_TAMP3 RTC_TAMPCR_TAMP3TRG 638 #define LL_RTC_WAKEUPCLOCK_DIV_16 0x00000000U 639 #define LL_RTC_WAKEUPCLOCK_DIV_8 RTC_CR_WUCKSEL_0 640 #define LL_RTC_WAKEUPCLOCK_DIV_4 RTC_CR_WUCKSEL_1 641 #define LL_RTC_WAKEUPCLOCK_DIV_2 (RTC_CR_WUCKSEL_1 | RTC_CR_WUCKSEL_0) 642 #define LL_RTC_WAKEUPCLOCK_CKSPRE RTC_CR_WUCKSEL_2 643 #define LL_RTC_WAKEUPCLOCK_CKSPRE_WUT (RTC_CR_WUCKSEL_2 | RTC_CR_WUCKSEL_1) 648 #if defined(RTC_BACKUP_SUPPORT) 652 #define LL_RTC_BKP_DR0 0x00000000U 653 #define LL_RTC_BKP_DR1 0x00000001U 654 #define LL_RTC_BKP_DR2 0x00000002U 655 #define LL_RTC_BKP_DR3 0x00000003U 656 #define LL_RTC_BKP_DR4 0x00000004U 657 #if RTC_BKP_NUMBER > 5 658 #define LL_RTC_BKP_DR5 0x00000005U 659 #define LL_RTC_BKP_DR6 0x00000006U 660 #define LL_RTC_BKP_DR7 0x00000007U 661 #define LL_RTC_BKP_DR8 0x00000008U 662 #define LL_RTC_BKP_DR9 0x00000009U 663 #define LL_RTC_BKP_DR10 0x0000000AU 664 #define LL_RTC_BKP_DR11 0x0000000BU 665 #define LL_RTC_BKP_DR12 0x0000000CU 666 #define LL_RTC_BKP_DR13 0x0000000DU 667 #define LL_RTC_BKP_DR14 0x0000000EU 668 #define LL_RTC_BKP_DR15 0x0000000FU 671 #if RTC_BKP_NUMBER > 16 672 #define LL_RTC_BKP_DR16 0x00000010U 673 #define LL_RTC_BKP_DR17 0x00000011U 674 #define LL_RTC_BKP_DR18 0x00000012U 675 #define LL_RTC_BKP_DR19 0x00000013U 678 #if RTC_BKP_NUMBER > 20 679 #define LL_RTC_BKP_DR20 0x00000014U 680 #define LL_RTC_BKP_DR21 0x00000015U 681 #define LL_RTC_BKP_DR22 0x00000016U 682 #define LL_RTC_BKP_DR23 0x00000017U 683 #define LL_RTC_BKP_DR24 0x00000018U 684 #define LL_RTC_BKP_DR25 0x00000019U 685 #define LL_RTC_BKP_DR26 0x0000001AU 686 #define LL_RTC_BKP_DR27 0x0000001BU 687 #define LL_RTC_BKP_DR28 0x0000001CU 688 #define LL_RTC_BKP_DR29 0x0000001DU 689 #define LL_RTC_BKP_DR30 0x0000001EU 690 #define LL_RTC_BKP_DR31 0x0000001FU 700 #define LL_RTC_CALIB_OUTPUT_NONE 0x00000000U 701 #define LL_RTC_CALIB_OUTPUT_1HZ (RTC_CR_COE | RTC_CR_COSEL) 702 #define LL_RTC_CALIB_OUTPUT_512HZ RTC_CR_COE 710 #define LL_RTC_CALIB_INSERTPULSE_NONE 0x00000000U 711 #define LL_RTC_CALIB_INSERTPULSE_SET RTC_CALR_CALP 719 #define LL_RTC_CALIB_PERIOD_32SEC 0x00000000U 720 #define LL_RTC_CALIB_PERIOD_16SEC RTC_CALR_CALW16 721 #define LL_RTC_CALIB_PERIOD_8SEC RTC_CALR_CALW8 746 #define LL_RTC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) 754 #define LL_RTC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 768 #define __LL_RTC_CONVERT_BIN2BCD(__VALUE__) (uint8_t)((((__VALUE__) / 10U) << 4U) | ((__VALUE__) % 10U)) 775 #define __LL_RTC_CONVERT_BCD2BIN(__VALUE__) (uint8_t)(((uint8_t)((__VALUE__) & (uint8_t)0xF0U) >> (uint8_t)0x4U) * 10U + ((__VALUE__) & (uint8_t)0x0FU)) 797 #define __LL_RTC_GET_WEEKDAY(__RTC_DATE__) (((__RTC_DATE__) >> RTC_OFFSET_WEEKDAY) & 0x000000FFU) 804 #define __LL_RTC_GET_YEAR(__RTC_DATE__) ((__RTC_DATE__) & 0x000000FFU) 823 #define __LL_RTC_GET_MONTH(__RTC_DATE__) (((__RTC_DATE__) >>RTC_OFFSET_MONTH) & 0x000000FFU) 830 #define __LL_RTC_GET_DAY(__RTC_DATE__) (((__RTC_DATE__) >>RTC_OFFSET_DAY) & 0x000000FFU) 845 #define __LL_RTC_GET_HOUR(__RTC_TIME__) (((__RTC_TIME__) >> RTC_OFFSET_HOUR) & 0x000000FFU) 852 #define __LL_RTC_GET_MINUTE(__RTC_TIME__) (((__RTC_TIME__) >> RTC_OFFSET_MINUTE) & 0x000000FFU) 859 #define __LL_RTC_GET_SECOND(__RTC_TIME__) ((__RTC_TIME__) & 0x000000FFU) 904 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_FMT));
921 MODIFY_REG(RTCx->CR, RTC_CR_OSEL, AlarmOutput);
936 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_OSEL));
939 #if defined(STM32L412xx) || defined(STM32L422xx) 951 MODIFY_REG(RTCx->CR, RTC_CR_TAMPALRM_TYPE, Output);
964 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_TAMPALRM_TYPE));
979 WRITE_REG(RTCx->ICSR, RTC_LL_INIT_MASK);
991 WRITE_REG(RTCx->ICSR, (uint32_t)~RTC_ICSR_INIT);
1008 MODIFY_REG(RTCx->OR, RTC_OR_ALARMOUTTYPE, Output);
1022 return (uint32_t)(READ_BIT(RTCx->OR, RTC_OR_ALARMOUTTYPE));
1037 WRITE_REG(RTCx->ISR, RTC_LL_INIT_MASK);
1049 WRITE_REG(RTCx->ISR, (uint32_t)~RTC_ISR_INIT);
1078 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_POL));
1090 SET_BIT(RTCx->CR, RTC_CR_BYPSHAD);
1112 return (READ_BIT(RTCx->CR, RTC_CR_BYPSHAD) == (RTC_CR_BYPSHAD));
1125 SET_BIT(RTCx->CR, RTC_CR_REFCKON);
1150 MODIFY_REG(RTCx->PRER, RTC_PRER_PREDIV_A, AsynchPrescaler << RTC_PRER_PREDIV_A_Pos);
1162 MODIFY_REG(RTCx->PRER, RTC_PRER_PREDIV_S, SynchPrescaler);
1173 return (uint32_t)(READ_BIT(RTCx->PRER, RTC_PRER_PREDIV_A) >> RTC_PRER_PREDIV_A_Pos);
1184 return (uint32_t)(READ_BIT(RTCx->PRER, RTC_PRER_PREDIV_S));
1195 WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_DISABLE);
1206 WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_ENABLE_1);
1207 WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_ENABLE_2);
1210 #if defined(STM32L412xx) || defined(STM32L422xx) 1221 SET_BIT(RTCx->CR, RTC_CR_TAMPOE);
1243 return (READ_BIT(RTCx->CR, RTC_CR_TAMPOE) == (RTC_CR_TAMPOE));
1254 SET_BIT(RTCx->CR, RTC_CR_TAMPALRM_PU);
1265 CLEAR_BIT(RTCx->CR, RTC_CR_TAMPALRM_PU);
1276 return (READ_BIT(RTCx->CR, RTC_CR_TAMPALRM_PU) == (RTC_CR_TAMPALRM_PU));
1290 SET_BIT(RTCx->CR, RTC_CR_OUT2EN);
1312 return (READ_BIT(RTCx->CR, RTC_CR_OUT2EN) == (RTC_CR_OUT2EN));
1325 SET_BIT(RTCx->OR, RTC_OR_OUT_RMP);
1378 return (uint32_t)(READ_BIT(RTCx->TR, RTC_TR_PM));
1394 MODIFY_REG(RTCx->TR, (RTC_TR_HT | RTC_TR_HU),
1395 (((Hours & 0xF0U) << (RTC_TR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_TR_HU_Pos)));
1413 return ((READ_BIT(RTCx->TR, (RTC_TR_HT | RTC_TR_HU))) >> RTC_TR_HU_Pos);
1429 MODIFY_REG(RTCx->TR, (RTC_TR_MNT | RTC_TR_MNU),
1430 (((Minutes & 0xF0U) << (RTC_TR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_TR_MNU_Pos)));
1448 return ((READ_BIT(RTCx->TR, (RTC_TR_MNT | RTC_TR_MNU))) >> RTC_TR_MNU_Pos);
1464 MODIFY_REG(RTCx->TR, (RTC_TR_ST | RTC_TR_SU),
1465 (((Seconds & 0xF0U) << (RTC_TR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_TR_SU_Pos)));
1483 return ((READ_BIT(RTCx->TR, (RTC_TR_ST | RTC_TR_SU))) >> RTC_TR_SU_Pos);
1507 __STATIC_INLINE
void LL_RTC_TIME_Config(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
1509 register uint32_t temp = 0U;
1511 temp = Format12_24 | \
1512 (((Hours & 0xF0U) << (RTC_TR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_TR_HU_Pos)) | \
1513 (((Minutes & 0xF0U) << (RTC_TR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_TR_MNU_Pos)) | \
1514 (((Seconds & 0xF0U) << (RTC_TR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_TR_SU_Pos));
1515 MODIFY_REG(RTCx->TR, (RTC_TR_PM | RTC_TR_HT | RTC_TR_HU | RTC_TR_MNT | RTC_TR_MNU | RTC_TR_ST | RTC_TR_SU), temp);
1537 register uint32_t temp = 0U;
1539 temp = READ_BIT(RTCx->TR, (RTC_TR_HT | RTC_TR_HU | RTC_TR_MNT | RTC_TR_MNU | RTC_TR_ST | RTC_TR_SU));
1540 return (uint32_t)((((((temp & RTC_TR_HT) >> RTC_TR_HT_Pos) << 4U) | ((temp & RTC_TR_HU) >> RTC_TR_HU_Pos)) << RTC_OFFSET_HOUR) | \
1541 (((((temp & RTC_TR_MNT) >> RTC_TR_MNT_Pos) << 4U) | ((temp & RTC_TR_MNU) >> RTC_TR_MNU_Pos)) << RTC_OFFSET_MINUTE) | \
1542 ((((temp & RTC_TR_ST) >> RTC_TR_ST_Pos) << 4U) | ((temp & RTC_TR_SU) >> RTC_TR_SU_Pos)));
1554 SET_BIT(RTCx->CR, RTC_CR_BKP);
1577 return (READ_BIT(RTCx->CR, RTC_CR_BKP) == (RTC_CR_BKP));
1589 SET_BIT(RTCx->CR, RTC_CR_SUB1H);
1601 SET_BIT(RTCx->CR, RTC_CR_ADD1H);
1619 return (uint32_t)(READ_BIT(RTCx->SSR, RTC_SSR_SS));
1638 WRITE_REG(RTCx->SHIFTR, ShiftSecond | Fraction);
1660 MODIFY_REG(RTCx->DR, (RTC_DR_YT | RTC_DR_YU),
1661 (((Year & 0xF0U) << (RTC_DR_YT_Pos - 4U)) | ((Year & 0x0FU) << RTC_DR_YU_Pos)));
1676 return ((READ_BIT(RTCx->DR, (RTC_DR_YT | RTC_DR_YU))) >> RTC_DR_YU_Pos);
1695 MODIFY_REG(RTCx->DR, RTC_DR_WDU, WeekDay << RTC_DR_WDU_Pos);
1715 return (uint32_t)(READ_BIT(RTCx->DR, RTC_DR_WDU) >> RTC_DR_WDU_Pos);
1741 MODIFY_REG(RTCx->DR, (RTC_DR_MT | RTC_DR_MU),
1742 (((Month & 0xF0U) << (RTC_DR_MT_Pos - 4U)) | ((Month & 0x0FU) << RTC_DR_MU_Pos)));
1769 return ((READ_BIT(RTCx->DR, (RTC_DR_MT | RTC_DR_MU))) >> RTC_DR_MU_Pos);
1783 MODIFY_REG(RTCx->DR, (RTC_DR_DT | RTC_DR_DU),
1784 (((Day & 0xF0U) << (RTC_DR_DT_Pos - 4U)) | ((Day & 0x0FU) << RTC_DR_DU_Pos)));
1799 return ((READ_BIT(RTCx->DR, (RTC_DR_DT | RTC_DR_DU))) >> RTC_DR_DU_Pos);
1837 __STATIC_INLINE
void LL_RTC_DATE_Config(RTC_TypeDef *RTCx, uint32_t WeekDay, uint32_t Day, uint32_t Month, uint32_t Year)
1839 register uint32_t temp = 0U;
1841 temp = (WeekDay << RTC_DR_WDU_Pos) | \
1842 (((Year & 0xF0U) << (RTC_DR_YT_Pos - 4U)) | ((Year & 0x0FU) << RTC_DR_YU_Pos)) | \
1843 (((Month & 0xF0U) << (RTC_DR_MT_Pos - 4U)) | ((Month & 0x0FU) << RTC_DR_MU_Pos)) | \
1844 (((Day & 0xF0U) << (RTC_DR_DT_Pos - 4U)) | ((Day & 0x0FU) << RTC_DR_DU_Pos));
1846 MODIFY_REG(RTCx->DR, (RTC_DR_WDU | RTC_DR_MT | RTC_DR_MU | RTC_DR_DT | RTC_DR_DU | RTC_DR_YT | RTC_DR_YU), temp);
1867 register uint32_t temp = 0U;
1869 temp = READ_BIT(RTCx->DR, (RTC_DR_WDU | RTC_DR_MT | RTC_DR_MU | RTC_DR_DT | RTC_DR_DU | RTC_DR_YT | RTC_DR_YU));
1870 return (uint32_t)((((temp & RTC_DR_WDU) >> RTC_DR_WDU_Pos) << RTC_OFFSET_WEEKDAY) | \
1871 (((((temp & RTC_DR_DT) >> RTC_DR_DT_Pos) << 4U) | ((temp & RTC_DR_DU) >> RTC_DR_DU_Pos)) << RTC_OFFSET_DAY) | \
1872 (((((temp & RTC_DR_MT) >> RTC_DR_MT_Pos) << 4U) | ((temp & RTC_DR_MU) >> RTC_DR_MU_Pos)) << RTC_OFFSET_MONTH) | \
1873 ((((temp & RTC_DR_YT) >> RTC_DR_YT_Pos) << 4U) | ((temp & RTC_DR_YU) >> RTC_DR_YU_Pos)));
1893 SET_BIT(RTCx->CR, RTC_CR_ALRAE);
1926 MODIFY_REG(RTCx->ALRMAR, RTC_ALRMAR_MSK4 | RTC_ALRMAR_MSK3 | RTC_ALRMAR_MSK2 | RTC_ALRMAR_MSK1, Mask);
1946 return (uint32_t)(READ_BIT(RTCx->ALRMAR, RTC_ALRMAR_MSK4 | RTC_ALRMAR_MSK3 | RTC_ALRMAR_MSK2 | RTC_ALRMAR_MSK1));
1957 SET_BIT(RTCx->ALRMAR, RTC_ALRMAR_WDSEL);
1968 CLEAR_BIT(RTCx->ALRMAR, RTC_ALRMAR_WDSEL);
1982 MODIFY_REG(RTCx->ALRMAR, (RTC_ALRMAR_DT | RTC_ALRMAR_DU),
1983 (((Day & 0xF0U) << (RTC_ALRMAR_DT_Pos - 4U)) | ((Day & 0x0FU) << RTC_ALRMAR_DU_Pos)));
1996 return ((READ_BIT(RTCx->ALRMAR, (RTC_ALRMAR_DT | RTC_ALRMAR_DU))) >> RTC_ALRMAR_DU_Pos);
2015 MODIFY_REG(RTCx->ALRMAR, RTC_ALRMAR_DU, WeekDay << RTC_ALRMAR_DU_Pos);
2033 return (uint32_t)(READ_BIT(RTCx->ALRMAR, RTC_ALRMAR_DU) >> RTC_ALRMAR_DU_Pos);
2047 MODIFY_REG(RTCx->ALRMAR, RTC_ALRMAR_PM, TimeFormat);
2060 return (uint32_t)(READ_BIT(RTCx->ALRMAR, RTC_ALRMAR_PM));
2074 MODIFY_REG(RTCx->ALRMAR, (RTC_ALRMAR_HT | RTC_ALRMAR_HU),
2075 (((Hours & 0xF0U) << (RTC_ALRMAR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_ALRMAR_HU_Pos)));
2088 return ((READ_BIT(RTCx->ALRMAR, (RTC_ALRMAR_HT | RTC_ALRMAR_HU))) >> RTC_ALRMAR_HU_Pos);
2102 MODIFY_REG(RTCx->ALRMAR, (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU),
2103 (((Minutes & 0xF0U) << (RTC_ALRMAR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_ALRMAR_MNU_Pos)));
2116 return ((READ_BIT(RTCx->ALRMAR, (RTC_ALRMAR_MNT | RTC_ALRMAR_MNU))) >> RTC_ALRMAR_MNU_Pos);
2130 MODIFY_REG(RTCx->ALRMAR, (RTC_ALRMAR_ST | RTC_ALRMAR_SU),
2131 (((Seconds & 0xF0U) << (RTC_ALRMAR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_ALRMAR_SU_Pos)));
2144 return ((READ_BIT(RTCx->ALRMAR, (RTC_ALRMAR_ST | RTC_ALRMAR_SU))) >> RTC_ALRMAR_SU_Pos);
2165 __STATIC_INLINE
void LL_RTC_ALMA_ConfigTime(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
2167 register uint32_t temp = 0U;
2169 temp = Format12_24 | (((Hours & 0xF0U) << (RTC_ALRMAR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_ALRMAR_HU_Pos)) | \
2170 (((Minutes & 0xF0U) << (RTC_ALRMAR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_ALRMAR_MNU_Pos)) | \
2171 (((Seconds & 0xF0U) << (RTC_ALRMAR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_ALRMAR_SU_Pos));
2173 MODIFY_REG(RTCx->ALRMAR, RTC_ALRMAR_PM | RTC_ALRMAR_HT | RTC_ALRMAR_HU | RTC_ALRMAR_MNT | RTC_ALRMAR_MNU | RTC_ALRMAR_ST | RTC_ALRMAR_SU, temp);
2205 MODIFY_REG(RTCx->ALRMASSR, RTC_ALRMASSR_MASKSS, Mask << RTC_ALRMASSR_MASKSS_Pos);
2216 return (uint32_t)(READ_BIT(RTCx->ALRMASSR, RTC_ALRMASSR_MASKSS) >> RTC_ALRMASSR_MASKSS_Pos);
2228 MODIFY_REG(RTCx->ALRMASSR, RTC_ALRMASSR_SS, Subsecond);
2239 return (uint32_t)(READ_BIT(RTCx->ALRMASSR, RTC_ALRMASSR_SS));
2259 SET_BIT(RTCx->CR, RTC_CR_ALRBE);
2292 MODIFY_REG(RTCx->ALRMBR, RTC_ALRMBR_MSK4 | RTC_ALRMBR_MSK3 | RTC_ALRMBR_MSK2 | RTC_ALRMBR_MSK1, Mask);
2312 return (uint32_t)(READ_BIT(RTCx->ALRMBR, RTC_ALRMBR_MSK4 | RTC_ALRMBR_MSK3 | RTC_ALRMBR_MSK2 | RTC_ALRMBR_MSK1));
2323 SET_BIT(RTCx->ALRMBR, RTC_ALRMBR_WDSEL);
2334 CLEAR_BIT(RTCx->ALRMBR, RTC_ALRMBR_WDSEL);
2348 MODIFY_REG(RTC->ALRMBR, (RTC_ALRMBR_DT | RTC_ALRMBR_DU),
2349 (((Day & 0xF0U) << (RTC_ALRMBR_DT_Pos - 4U)) | ((Day & 0x0FU) << RTC_ALRMBR_DU_Pos)));
2362 return ((READ_BIT(RTCx->ALRMBR, (RTC_ALRMBR_DT | RTC_ALRMBR_DU))) >> RTC_ALRMBR_DU_Pos);
2381 MODIFY_REG(RTCx->ALRMBR, RTC_ALRMBR_DU, WeekDay << RTC_ALRMBR_DU_Pos);
2399 return (uint32_t)(READ_BIT(RTCx->ALRMBR, RTC_ALRMBR_DU) >> RTC_ALRMBR_DU_Pos);
2413 MODIFY_REG(RTCx->ALRMBR, RTC_ALRMBR_PM, TimeFormat);
2426 return (uint32_t)(READ_BIT(RTCx->ALRMBR, RTC_ALRMBR_PM));
2440 MODIFY_REG(RTCx->ALRMBR, (RTC_ALRMBR_HT | RTC_ALRMBR_HU),
2441 (((Hours & 0xF0U) << (RTC_ALRMBR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_ALRMBR_HU_Pos)));
2454 return ((READ_BIT(RTCx->ALRMBR, (RTC_ALRMBR_HT | RTC_ALRMBR_HU))) >> RTC_ALRMBR_HU_Pos);
2468 MODIFY_REG(RTCx->ALRMBR, (RTC_ALRMBR_MNT | RTC_ALRMBR_MNU),
2469 (((Minutes & 0xF0U) << (RTC_ALRMBR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_ALRMBR_MNU_Pos)));
2482 return ((READ_BIT(RTCx->ALRMBR, (RTC_ALRMBR_MNT | RTC_ALRMBR_MNU))) >> RTC_ALRMBR_MNU_Pos);
2496 MODIFY_REG(RTCx->ALRMBR, (RTC_ALRMBR_ST | RTC_ALRMBR_SU),
2497 (((Seconds & 0xF0U) << (RTC_ALRMBR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_ALRMBR_SU_Pos)));
2510 return ((READ_BIT(RTCx->ALRMBR, (RTC_ALRMBR_ST | RTC_ALRMBR_SU))) >> RTC_ALRMBR_SU_Pos);
2531 __STATIC_INLINE
void LL_RTC_ALMB_ConfigTime(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
2533 register uint32_t temp = 0U;
2535 temp = Format12_24 | (((Hours & 0xF0U) << (RTC_ALRMBR_HT_Pos - 4U)) | ((Hours & 0x0FU) << RTC_ALRMBR_HU_Pos)) | \
2536 (((Minutes & 0xF0U) << (RTC_ALRMBR_MNT_Pos - 4U)) | ((Minutes & 0x0FU) << RTC_ALRMBR_MNU_Pos)) | \
2537 (((Seconds & 0xF0U) << (RTC_ALRMBR_ST_Pos - 4U)) | ((Seconds & 0x0FU) << RTC_ALRMBR_SU_Pos));
2539 MODIFY_REG(RTCx->ALRMBR, RTC_ALRMBR_PM | RTC_ALRMBR_HT | RTC_ALRMBR_HU | RTC_ALRMBR_MNT | RTC_ALRMBR_MNU | RTC_ALRMBR_ST | RTC_ALRMBR_SU, temp);
2571 MODIFY_REG(RTCx->ALRMBSSR, RTC_ALRMBSSR_MASKSS, Mask << RTC_ALRMBSSR_MASKSS_Pos);
2582 return (uint32_t)(READ_BIT(RTCx->ALRMBSSR, RTC_ALRMBSSR_MASKSS) >> RTC_ALRMBSSR_MASKSS_Pos);
2594 MODIFY_REG(RTCx->ALRMBSSR, RTC_ALRMBSSR_SS, Subsecond);
2605 return (uint32_t)(READ_BIT(RTCx->ALRMBSSR, RTC_ALRMBSSR_SS));
2625 SET_BIT(RTCx->CR, RTC_CR_ITSE);
2649 SET_BIT(RTCx->CR, RTC_CR_TSE);
2691 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_TSEDGE));
2704 return (uint32_t)(READ_BIT(RTCx->TSTR, RTC_TSTR_PM));
2717 return (uint32_t)(READ_BIT(RTCx->TSTR, RTC_TSTR_HT | RTC_TSTR_HU) >> RTC_TSTR_HU_Pos);
2730 return (uint32_t)(READ_BIT(RTCx->TSTR, RTC_TSTR_MNT | RTC_TSTR_MNU) >> RTC_TSTR_MNU_Pos);
2743 return (uint32_t)(READ_BIT(RTCx->TSTR, RTC_TSTR_ST | RTC_TSTR_SU));
2761 return (uint32_t)(READ_BIT(RTCx->TSTR,
2762 RTC_TSTR_HT | RTC_TSTR_HU | RTC_TSTR_MNT | RTC_TSTR_MNU | RTC_TSTR_ST | RTC_TSTR_SU));
2780 return (uint32_t)(READ_BIT(RTCx->TSDR, RTC_TSDR_WDU) >> RTC_TSDR_WDU_Pos);
2805 return (uint32_t)(READ_BIT(RTCx->TSDR, RTC_TSDR_MT | RTC_TSDR_MU) >> RTC_TSDR_MU_Pos);
2818 return (uint32_t)(READ_BIT(RTCx->TSDR, RTC_TSDR_DT | RTC_TSDR_DU));
2835 return (uint32_t)(READ_BIT(RTCx->TSDR, RTC_TSDR_WDU | RTC_TSDR_MT | RTC_TSDR_MU | RTC_TSDR_DT | RTC_TSDR_DU));
2846 return (uint32_t)(READ_BIT(RTCx->TSSSR, RTC_TSSSR_SS));
2853 #if defined(RTC_WAKEUP_SUPPORT) 2867 SET_BIT(RTCx->CR, RTC_CR_WUTE);
2890 return (READ_BIT(RTCx->CR, RTC_CR_WUTE) == (RTC_CR_WUTE));
2910 MODIFY_REG(RTCx->CR, RTC_CR_WUCKSEL, WakeupClock);
2927 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_WUCKSEL));
2951 return (uint32_t)(READ_BIT(RTCx->WUTR, RTC_WUTR_WUT));
2954 #if defined(STM32L412xx) || defined(STM32L422xx) 2965 MODIFY_REG(RTCx->WUTR, RTC_WUTR_WUTOCLR, (Value << RTC_WUTR_WUTOCLR_Pos));
2976 return (uint32_t)((READ_BIT(RTCx->WUTR, RTC_WUTR_WUTOCLR)) >> RTC_WUTR_WUTOCLR_Pos);
3003 MODIFY_REG(RTCx->CR, RTC_CR_COE | RTC_CR_COSEL, Frequency);
3018 return (uint32_t)(READ_BIT(RTCx->CR, RTC_CR_COE | RTC_CR_COSEL));
3034 MODIFY_REG(RTCx->CALR, RTC_CALR_CALP, Pulse);
3045 return (READ_BIT(RTCx->CALR, RTC_CALR_CALP) == (RTC_CALR_CALP));
3063 MODIFY_REG(RTCx->CALR, RTC_CALR_CALW8 | RTC_CALR_CALW16, Period);
3078 return (uint32_t)(READ_BIT(RTCx->CALR, RTC_CALR_CALW8 | RTC_CALR_CALW16));
3092 MODIFY_REG(RTCx->CALR, RTC_CALR_CALM, CalibMinus);
3103 return (uint32_t)(READ_BIT(RTCx->CALR, RTC_CALR_CALM));
3106 #if defined(STM32L412xx) || defined(STM32L422xx) 3117 SET_BIT(RTCx->CALR, RTC_CALR_LPCAL);
3141 return (READ_BIT(RTCx->CALR, RTC_CALR_LPCAL) == (RTC_CALR_LPCAL));
3149 #if defined(STM32L412xx) || defined(STM32L422xx) 3158 SET_BIT(RTCx->CR, RTC_CR_TAMPTS);
3189 SET_BIT(TAMPx->CR1, Tamper);
3222 SET_BIT(TAMPx->CR2, Mask);
3270 SET_BIT(TAMPx->CR2, Tamper);
3281 SET_BIT(TAMPx->FLTCR, TAMP_FLTCR_TAMPPUDIS);
3292 CLEAR_BIT(TAMPx->FLTCR, TAMP_FLTCR_TAMPPUDIS);
3308 MODIFY_REG(TAMPx->FLTCR, TAMP_FLTCR_TAMPPRCH, Duration);
3323 return (uint32_t)(READ_BIT(TAMPx->FLTCR, TAMP_FLTCR_TAMPPRCH));
3339 MODIFY_REG(TAMPx->FLTCR, TAMP_FLTCR_TAMPFLT, FilterCount);
3354 return (uint32_t)(READ_BIT(TAMPx->FLTCR, TAMP_FLTCR_TAMPFLT));
3374 MODIFY_REG(TAMPx->FLTCR, TAMP_FLTCR_TAMPFREQ, SamplingFreq);
3393 return (uint32_t)(READ_BIT(TAMPx->FLTCR, TAMP_FLTCR_TAMPFREQ));
3409 SET_BIT(TAMPx->CR2, Tamper);
3451 register uint32_t tmp = 0U;
3453 tmp = (uint32_t)(&(TAMPx->BKP0R));
3454 tmp += (BackupRegister * 4U);
3457 *(__IO uint32_t *)tmp = (uint32_t)Data;
3474 register uint32_t tmp = 0U;
3476 tmp = (uint32_t)(&(TAMPx->BKP0R));
3477 tmp += (BackupRegister * 4U);
3480 return (*(__IO uint32_t *)tmp);
3499 return (READ_BIT(RTCx->SR, RTC_SR_ITSF) == (RTC_SR_ITSF));
3510 return (READ_BIT(RTCx->ICSR, RTC_ICSR_RECALPF) == (RTC_ICSR_RECALPF));
3521 return (READ_BIT(RTCx->SR, RTC_SR_TSOVF) == (RTC_SR_TSOVF));
3532 return (READ_BIT(RTCx->SR, RTC_SR_TSF) == (RTC_SR_TSF));
3543 return (READ_BIT(RTCx->SR, RTC_SR_WUTF) == (RTC_SR_WUTF));
3554 return (READ_BIT(RTCx->SR, RTC_SR_ALRBF) == (RTC_SR_ALRBF));
3565 return (READ_BIT(RTCx->SR, RTC_SR_ALRAF) == (RTC_SR_ALRAF));
3576 SET_BIT(RTCx->SCR, RTC_SCR_CITSF);
3587 SET_BIT(RTCx->SCR, RTC_SCR_CTSOVF);
3598 SET_BIT(RTCx->SCR, RTC_SCR_CTSF);
3609 SET_BIT(RTCx->SCR, RTC_SCR_CWUTF);
3620 SET_BIT(RTCx->SCR, RTC_SCR_CALRBF);
3631 SET_BIT(RTCx->SCR, RTC_SCR_CALRAF);
3642 return (READ_BIT(RTCx->ICSR, RTC_ICSR_INITF) == (RTC_ICSR_INITF));
3653 return (READ_BIT(RTCx->ICSR, RTC_ICSR_RSF) == (RTC_ICSR_RSF));
3664 WRITE_REG(RTCx->ICSR, (~((RTC_ICSR_RSF | RTC_ICSR_INIT) & 0x000000FFU) | (RTCx->ICSR & RTC_ICSR_INIT)));
3675 return (READ_BIT(RTCx->ICSR, RTC_ICSR_INITS) == (RTC_ICSR_INITS));
3686 return (READ_BIT(RTCx->ICSR, RTC_ICSR_SHPF) == (RTC_ICSR_SHPF));
3697 return (READ_BIT(RTCx->ICSR, RTC_ICSR_WUTWF) == (RTC_ICSR_WUTWF));
3708 return (READ_BIT(RTCx->MISR, RTC_MISR_ALRAMF) == (RTC_MISR_ALRAMF));
3719 return (READ_BIT(RTCx->MISR, RTC_MISR_ALRBMF) == (RTC_MISR_ALRBMF));
3730 return (READ_BIT(RTCx->MISR, RTC_MISR_WUTMF) == (RTC_MISR_WUTMF));
3741 return (READ_BIT(RTCx->MISR, RTC_MISR_TSMF) == (RTC_MISR_TSMF));
3752 return (READ_BIT(RTCx->MISR, RTC_MISR_TSOVMF) == (RTC_MISR_TSOVMF));
3763 return (READ_BIT(RTCx->MISR, RTC_MISR_ITSMF) == (RTC_MISR_ITSMF));
3774 return (READ_BIT(TAMPx->SR, TAMP_SR_TAMP1F) == (TAMP_SR_TAMP1F));
3785 return (READ_BIT(TAMPx->SR, TAMP_SR_TAMP2F) == (TAMP_SR_TAMP2F));
3796 return (READ_BIT(TAMPx->MISR, TAMP_MISR_TAMP1MF) == (TAMP_MISR_TAMP1MF));
3807 return (READ_BIT(TAMPx->MISR, TAMP_MISR_TAMP2MF) == (TAMP_MISR_TAMP2MF));
3820 SET_BIT(TAMPx->SCR, TAMP_SCR_CTAMP1F);
3831 SET_BIT(TAMPx->SCR, TAMP_SCR_CTAMP2F);
3851 SET_BIT(RTCx->CR, RTC_CR_TSIE);
3875 SET_BIT(RTCx->CR, RTC_CR_WUTIE);
3899 SET_BIT(RTCx->CR, RTC_CR_ALRBIE);
3923 SET_BIT(RTCx->CR, RTC_CR_ALRAIE);
3946 return (READ_BIT(RTCx->CR, RTC_CR_TSIE) == (RTC_CR_TSIE));
3957 return (READ_BIT(RTCx->CR, RTC_CR_WUTIE) == (RTC_CR_WUTIE));
3968 return (READ_BIT(RTCx->CR, RTC_CR_ALRBIE) == (RTC_CR_ALRBIE));
3979 return (READ_BIT(RTCx->CR, RTC_CR_ALRAIE) == (RTC_CR_ALRAIE));
3990 SET_BIT(TAMPx->IER, TAMP_IER_TAMP1IE);
4001 CLEAR_BIT(TAMPx->IER, TAMP_IER_TAMP1IE);
4012 SET_BIT(TAMPx->IER, TAMP_IER_TAMP2IE);
4023 CLEAR_BIT(TAMPx->IER, TAMP_IER_TAMP2IE);
4035 return (READ_BIT(TAMPx->IER, TAMP_IER_TAMP1IE) == (TAMP_IER_TAMP1IE));
4046 return (READ_BIT(TAMPx->IER, TAMP_IER_TAMP2IE) == (TAMP_IER_TAMP2IE));
4055 #if defined(RTC_TAMPCR_TAMPTS) 4064 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPTS);
4075 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPTS);
4098 SET_BIT(RTCx->TAMPCR, Tamper);
4135 SET_BIT(RTCx->TAMPCR, Mask);
4189 SET_BIT(RTCx->TAMPCR, Tamper);
4192 #if defined(RTC_TAMPCR_TAMPPUDIS) 4201 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPPUDIS);
4212 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPPUDIS);
4216 #if defined(RTC_TAMPCR_TAMPPRCH) 4230 MODIFY_REG(RTCx->TAMPCR, RTC_TAMPCR_TAMPPRCH, Duration);
4245 return (uint32_t)(READ_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPPRCH));
4249 #if defined(RTC_TAMPCR_TAMPFLT) 4263 MODIFY_REG(RTCx->TAMPCR, RTC_TAMPCR_TAMPFLT, FilterCount);
4278 return (uint32_t)(READ_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPFLT));
4282 #if defined(RTC_TAMPCR_TAMPFREQ) 4300 MODIFY_REG(RTCx->TAMPCR, RTC_TAMPCR_TAMPFREQ, SamplingFreq);
4319 return (uint32_t)(READ_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPFREQ));
4338 SET_BIT(RTCx->TAMPCR, Tamper);
4363 #if defined(RTC_BACKUP_SUPPORT) 4410 register uint32_t tmp = 0U;
4412 tmp = (uint32_t)(&(RTCx->BKP0R));
4413 tmp += (BackupRegister * 4U);
4416 *(__IO uint32_t *)tmp = (uint32_t)Data;
4460 register uint32_t tmp = 0U;
4462 tmp = (uint32_t)(&(RTCx->BKP0R));
4463 tmp += (BackupRegister * 4U);
4466 return (*(__IO uint32_t *)tmp);
4486 return (READ_BIT(RTCx->ISR, RTC_ISR_ITSF) == (RTC_ISR_ITSF));
4497 return (READ_BIT(RTCx->ISR, RTC_ISR_RECALPF) == (RTC_ISR_RECALPF));
4500 #if defined(RTC_TAMPER3_SUPPORT) 4509 return (READ_BIT(RTCx->ISR, RTC_ISR_TAMP3F) == (RTC_ISR_TAMP3F));
4513 #if defined(RTC_TAMPER2_SUPPORT) 4522 return (READ_BIT(RTCx->ISR, RTC_ISR_TAMP2F) == (RTC_ISR_TAMP2F));
4526 #if defined(RTC_TAMPER1_SUPPORT) 4535 return (READ_BIT(RTCx->ISR, RTC_ISR_TAMP1F) == (RTC_ISR_TAMP1F));
4547 return (READ_BIT(RTCx->ISR, RTC_ISR_TSOVF) == (RTC_ISR_TSOVF));
4558 return (READ_BIT(RTCx->ISR, RTC_ISR_TSF) == (RTC_ISR_TSF));
4561 #if defined(RTC_WAKEUP_SUPPORT) 4570 return (READ_BIT(RTCx->ISR, RTC_ISR_WUTF) == (RTC_ISR_WUTF));
4582 return (READ_BIT(RTCx->ISR, RTC_ISR_ALRBF) == (RTC_ISR_ALRBF));
4593 return (READ_BIT(RTCx->ISR, RTC_ISR_ALRAF) == (RTC_ISR_ALRAF));
4604 WRITE_REG(RTCx->ISR, (~((RTC_ISR_ITSF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4607 #if defined(RTC_TAMPER3_SUPPORT) 4616 WRITE_REG(RTCx->ISR, (~((RTC_ISR_TAMP3F | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4620 #if defined(RTC_TAMPER2_SUPPORT) 4629 WRITE_REG(RTCx->ISR, (~((RTC_ISR_TAMP2F | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4633 #if defined(RTC_TAMPER1_SUPPORT) 4642 WRITE_REG(RTCx->ISR, (~((RTC_ISR_TAMP1F | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4654 WRITE_REG(RTCx->ISR, (~((RTC_ISR_TSOVF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4665 WRITE_REG(RTCx->ISR, (~((RTC_ISR_TSF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4668 #if defined(RTC_WAKEUP_SUPPORT) 4677 WRITE_REG(RTCx->ISR, (~((RTC_ISR_WUTF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4689 WRITE_REG(RTCx->ISR, (~((RTC_ISR_ALRBF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4700 WRITE_REG(RTCx->ISR, (~((RTC_ISR_ALRAF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4711 return (READ_BIT(RTCx->ISR, RTC_ISR_INITF) == (RTC_ISR_INITF));
4722 return (READ_BIT(RTCx->ISR, RTC_ISR_RSF) == (RTC_ISR_RSF));
4733 WRITE_REG(RTCx->ISR, (~((RTC_ISR_RSF | RTC_ISR_INIT) & 0x0000FFFFU) | (RTCx->ISR & RTC_ISR_INIT)));
4744 return (READ_BIT(RTCx->ISR, RTC_ISR_INITS) == (RTC_ISR_INITS));
4755 return (READ_BIT(RTCx->ISR, RTC_ISR_SHPF) == (RTC_ISR_SHPF));
4758 #if defined(RTC_WAKEUP_SUPPORT) 4767 return (READ_BIT(RTCx->ISR, RTC_ISR_WUTWF) == (RTC_ISR_WUTWF));
4779 return (READ_BIT(RTCx->ISR, RTC_ISR_ALRBWF) == (RTC_ISR_ALRBWF));
4790 return (READ_BIT(RTCx->ISR, RTC_ISR_ALRAWF) == (RTC_ISR_ALRAWF));
4810 SET_BIT(RTCx->CR, RTC_CR_TSIE);
4825 #if defined(RTC_WAKEUP_SUPPORT) 4835 SET_BIT(RTCx->CR, RTC_CR_WUTIE);
4860 SET_BIT(RTCx->CR, RTC_CR_ALRBIE);
4884 SET_BIT(RTCx->CR, RTC_CR_ALRAIE);
4899 #if defined(RTC_TAMPER3_SUPPORT) 4908 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP3IE);
4919 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP3IE);
4923 #if defined(RTC_TAMPER2_SUPPORT) 4932 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP2IE);
4943 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP2IE);
4947 #if defined(RTC_TAMPER1_SUPPORT) 4956 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP1IE);
4967 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMP1IE);
4979 SET_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPIE);
4990 CLEAR_BIT(RTCx->TAMPCR, RTC_TAMPCR_TAMPIE);
5001 return (READ_BIT(RTCx->CR, RTC_CR_TSIE) == (RTC_CR_TSIE));
5004 #if defined(RTC_WAKEUP_SUPPORT) 5013 return (READ_BIT(RTCx->CR, RTC_CR_WUTIE) == (RTC_CR_WUTIE));
5025 return (READ_BIT(RTCx->CR, RTC_CR_ALRBIE) == (RTC_CR_ALRBIE));
5036 return (READ_BIT(RTCx->CR, RTC_CR_ALRAIE) == (RTC_CR_ALRAIE));
5039 #if defined(RTC_TAMPER3_SUPPORT) 5048 return (READ_BIT(RTCx->TAMPCR,
5049 RTC_TAMPCR_TAMP3IE) == (RTC_TAMPCR_TAMP3IE));
5053 #if defined(RTC_TAMPER2_SUPPORT) 5062 return (READ_BIT(RTCx->TAMPCR,
5063 RTC_TAMPCR_TAMP2IE) == (RTC_TAMPCR_TAMP2IE));
5068 #if defined(RTC_TAMPER1_SUPPORT) 5077 return (READ_BIT(RTCx->TAMPCR,
5078 RTC_TAMPCR_TAMP1IE) == (RTC_TAMPCR_TAMP1IE));
5090 return (READ_BIT(RTCx->TAMPCR,
5091 RTC_TAMPCR_TAMPIE) == (RTC_TAMPCR_TAMPIE));
5100 #if defined(USE_FULL_LL_DRIVER) __STATIC_INLINE uint32_t LL_RTC_TIME_IsDayLightStoreEnabled(RTC_TypeDef *RTCx)
Check if RTC Day Light Saving stored operation has been enabled or not RTC_CR BKP LL_RTC_TIME_IsDayL...
__STATIC_INLINE void LL_RTC_TAMPER_DisableMask(TAMP_TypeDef *TAMPx, uint32_t Mask)
Disable Tamper mask flag TAMP_CR2 TAMP1MF LL_RTC_TAMPER_DisableMask TAMP_CR2 TAMP2MF LL_RTC_TAMPER_...
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetSubSecondMask(RTC_TypeDef *RTCx)
Get Alarm B Mask the most-significant bits starting at this bit RTC_ALRMBSSR MASKSS LL_RTC_ALMB_GetS...
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetWeekDay(RTC_TypeDef *RTCx)
Get ALARM B Weekday RTC_ALRMBR DU LL_RTC_ALMB_GetWeekDay.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TAMP2(TAMP_TypeDef *TAMPx)
Check if tamper 2 interrupt is enabled or not. TAMP_IER TAMP2IE LL_RTC_IsEnabledIT_TAMP2.
__STATIC_INLINE void LL_RTC_TAMPER_DisableActiveLevel(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Disable Active level for Tamper input TAMP_CR2 TAMP1TRG LL_RTC_TAMPER_DisableActiveLevel TAMP_CR2 T...
__STATIC_INLINE void LL_RTC_DisableRefClock(RTC_TypeDef *RTCx)
Disable RTC_REFIN reference clock detection (50 or 60 Hz)
__STATIC_INLINE void LL_RTC_DisableShadowRegBypass(RTC_TypeDef *RTCx)
Disable Bypass the shadow registers RTC_CR BYPSHAD LL_RTC_DisableShadowRegBypass.
__STATIC_INLINE void LL_RTC_EnableIT_ALRB(RTC_TypeDef *RTCx)
Enable Alarm B interrupt.
__STATIC_INLINE void LL_RTC_ALMA_SetTimeFormat(RTC_TypeDef *RTCx, uint32_t TimeFormat)
Set Alarm A time format (AM/24-hour or PM notation) RTC_ALRMAR PM LL_RTC_ALMA_SetTimeFormat.
__STATIC_INLINE void LL_RTC_ClearFlag_TSOV(RTC_TypeDef *RTCx)
Clear Time-stamp overflow flag RTC_SCR CTSOVF LL_RTC_ClearFlag_TSOV.
__STATIC_INLINE void LL_RTC_ALMA_ConfigTime(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
Set Alarm A Time (hour, minute and second) in BCD format RTC_ALRMAR PM LL_RTC_ALMA_ConfigTime RTC_A...
__STATIC_INLINE void LL_RTC_ALMA_EnableWeekday(RTC_TypeDef *RTCx)
Enable AlarmA Week day selection (DU[3:0] represents the week day. DT[1:0] is do not care) RTC_ALRMA...
__STATIC_INLINE void LL_RTC_ALMB_SetSecond(RTC_TypeDef *RTCx, uint32_t Seconds)
Set ALARM B Seconds in BCD format.
ErrorStatus LL_RTC_WaitForSynchro(RTC_TypeDef *RTCx)
Waits until the RTC Time and Day registers (RTC_TR and RTC_DR) are synchronized with RTC APB clock...
__STATIC_INLINE uint32_t LL_RTC_IsShadowRegBypassEnabled(RTC_TypeDef *RTCx)
Check if Shadow registers bypass is enabled or not. RTC_CR BYPSHAD LL_RTC_IsShadowRegBypassEnabled.
__STATIC_INLINE uint32_t LL_RTC_CAL_GetOutputFreq(RTC_TypeDef *RTCx)
Get Calibration output frequency (1 Hz or 512 Hz) RTC_CR COE LL_RTC_CAL_GetOutputFreq RTC_CR COSEL ...
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_WUTM(RTC_TypeDef *RTCx)
Get Wakeup timer masked flag. RTC_MISR WUTMF LL_RTC_IsActiveFlag_WUTM.
__STATIC_INLINE void LL_RTC_ALMB_ConfigTime(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
Set Alarm B Time (hour, minute and second) in BCD format RTC_ALRMBR PM LL_RTC_ALMB_ConfigTime RTC_A...
__STATIC_INLINE void LL_RTC_DisableTamperOutput(RTC_TypeDef *RTCx)
Disable tamper output. RTC_CR TAMPOE LL_RTC_DisableTamperOutput.
__STATIC_INLINE void LL_RTC_EnableOutput2(RTC_TypeDef *RTCx)
Enable RTC_OUT2 output.
__STATIC_INLINE void LL_RTC_TS_Disable(RTC_TypeDef *RTCx)
Disable Timestamp.
__STATIC_INLINE void LL_RTC_DATE_Config(RTC_TypeDef *RTCx, uint32_t WeekDay, uint32_t Day, uint32_t Month, uint32_t Year)
Set date (WeekDay, Day, Month and Year) in BCD format RTC_DR WDU LL_RTC_DATE_Config RTC_DR MT LL_RT...
__STATIC_INLINE void LL_RTC_BKP_SetRegister(TAMP_TypeDef *TAMPx, uint32_t BackupRegister, uint32_t Data)
Writes a data in a specified Backup data register. TAMP_BKPxR BKP LL_RTC_BKP_SetRegister.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_WUT(RTC_TypeDef *RTCx)
Get Wakeup timer flag RTC_SR WUTF LL_RTC_IsActiveFlag_WUT.
ErrorStatus LL_RTC_TIME_Init(RTC_TypeDef *RTCx, uint32_t RTC_Format, LL_RTC_TimeTypeDef *RTC_TimeStruct)
Set the RTC current time.
__STATIC_INLINE void LL_RTC_TIME_DecHour(RTC_TypeDef *RTCx)
Subtract 1 hour (winter time change)
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TAMP3(RTC_TypeDef *RTCx)
Check if Tamper 3 interrupt is enabled or not TAMPCR TAMP3IE LL_RTC_IsEnabledIT_TAMP3.
RTC Date structure definition.
ErrorStatus LL_RTC_ExitInitMode(RTC_TypeDef *RTCx)
Exit the RTC Initialization mode.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRAW(RTC_TypeDef *RTCx)
Get Alarm A write flag ISR ALRAWF LL_RTC_IsActiveFlag_ALRAW.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRBW(RTC_TypeDef *RTCx)
Get Alarm B write flag ISR ALRBWF LL_RTC_IsActiveFlag_ALRBW.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetWeekDay(RTC_TypeDef *RTCx)
Get ALARM A Weekday RTC_ALRMAR DU LL_RTC_ALMA_GetWeekDay.
__STATIC_INLINE void LL_RTC_EnableIT_ALRA(RTC_TypeDef *RTCx)
Enable Alarm A interrupt.
__STATIC_INLINE void LL_RTC_DisableIT_ALRB(RTC_TypeDef *RTCx)
Disable Alarm B interrupt.
__STATIC_INLINE void LL_RTC_ALMA_SetSubSecond(RTC_TypeDef *RTCx, uint32_t Subsecond)
Set Alarm A Sub seconds value RCT_ALRMASSR SS LL_RTC_ALMA_SetSubSecond.
void LL_RTC_StructInit(LL_RTC_InitTypeDef *RTC_InitStruct)
Set each LL_RTC_InitTypeDef field to default value.
__STATIC_INLINE void LL_RTC_CAL_SetPulse(RTC_TypeDef *RTCx, uint32_t Pulse)
Insert or not One RTCCLK pulse every 2exp11 pulses (frequency increased by 488.5 ppm) ...
__STATIC_INLINE uint32_t LL_RTC_TS_GetSubSecond(RTC_TypeDef *RTCx)
Get time-stamp sub second value RTC_TSDR SS LL_RTC_TS_GetSubSecond.
__STATIC_INLINE void LL_RTC_TAMPER_EnableMask(TAMP_TypeDef *TAMPx, uint32_t Mask)
Enable Tamper mask flag.
__STATIC_INLINE uint32_t LL_RTC_TIME_GetHour(RTC_TypeDef *RTCx)
Get Hours in BCD format.
__STATIC_INLINE void LL_RTC_WAKEUP_SetAutoReload(RTC_TypeDef *RTCx, uint32_t Value)
Set Wakeup auto-reload value.
__STATIC_INLINE uint32_t LL_RTC_CAL_GetPeriod(RTC_TypeDef *RTCx)
Get the calibration cycle period RTC_CALR CALW8 LL_RTC_CAL_GetPeriod RTC_CALR CALW16 LL_RTC_CAL_Get...
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetHour(RTC_TypeDef *RTCx)
Get ALARM B Hours in BCD format.
__STATIC_INLINE void LL_RTC_ClearFlag_ITS(RTC_TypeDef *RTCx)
Clear Internal Time-stamp flag RTC_SCR CITSF LL_RTC_ClearFlag_ITS.
__STATIC_INLINE void LL_RTC_TAMPER_Enable(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Enable TAMPx input detection TAMP_CR1 TAMP1E LL_RTC_TAMPER_Enable TAMP_CR1 TAMP2E LL_RTC_TAMPER_Ena...
__STATIC_INLINE void LL_RTC_DisableAlarmPullUp(RTC_TypeDef *RTCx)
Disable internal pull-up in output mode. RTC_CR TAMPALRM_PU LL_RTC_EnableAlarmPullUp.
ErrorStatus LL_RTC_DATE_Init(RTC_TypeDef *RTCx, uint32_t RTC_Format, LL_RTC_DateTypeDef *RTC_DateStruct)
Set the RTC current date.
__STATIC_INLINE uint32_t LL_RTC_TS_GetHour(RTC_TypeDef *RTCx)
Get Timestamp Hours in BCD format.
__STATIC_INLINE uint32_t LL_RTC_TAMPER_GetPrecharge(TAMP_TypeDef *TAMPx)
Get RTC_TAMPx precharge duration TAMP_FLTCR TAMPPRCH LL_RTC_TAMPER_GetPrecharge. ...
__STATIC_INLINE uint32_t LL_RTC_TIME_Get(RTC_TypeDef *RTCx)
Get time (hour, minute and second) in BCD format.
__STATIC_INLINE void LL_RTC_DisableInitMode(RTC_TypeDef *RTCx)
Disable initialization mode (Free running mode) RTC_ICSR INIT LL_RTC_DisableInitMode.
__STATIC_INLINE void LL_RTC_TAMPER_Disable(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Clear TAMPx input detection TAMP_CR1 TAMP1E LL_RTC_TAMPER_Disable TAMP_CR1 TAMP2E LL_RTC_TAMPER_Dis...
__STATIC_INLINE uint32_t LL_RTC_TS_GetMonth(RTC_TypeDef *RTCx)
Get Timestamp Month in BCD format.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TAMP3(RTC_TypeDef *RTCx)
Get RTC_TAMP3 detection flag ISR TAMP3F LL_RTC_IsActiveFlag_TAMP3.
__STATIC_INLINE void LL_RTC_CAL_LowPower_Enable(RTC_TypeDef *RTCx)
Enable Calibration Low Power.
__STATIC_INLINE void LL_RTC_ALMA_SetMinute(RTC_TypeDef *RTCx, uint32_t Minutes)
Set ALARM A Minutes in BCD format.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetSubSecond(RTC_TypeDef *RTCx)
Get Alarm B Sub seconds value RTC_ALRMBSSR SS LL_RTC_ALMB_GetSubSecond.
__STATIC_INLINE void LL_RTC_TIME_Synchronize(RTC_TypeDef *RTCx, uint32_t ShiftSecond, uint32_t Fraction)
Synchronize to a remote clock with a high degree of precision.
__STATIC_INLINE uint32_t LL_RTC_DATE_GetDay(RTC_TypeDef *RTCx)
Get Day in BCD format.
__STATIC_INLINE void LL_RTC_WAKEUP_Disable(RTC_TypeDef *RTCx)
Disable Wakeup timer.
__STATIC_INLINE uint32_t LL_RTC_DATE_GetWeekDay(RTC_TypeDef *RTCx)
Get Week day.
__STATIC_INLINE uint32_t LL_RTC_TS_GetTime(RTC_TypeDef *RTCx)
Get Timestamp time (hour, minute and second) in BCD format.
__STATIC_INLINE uint32_t LL_RTC_BAK_GetRegister(RTC_TypeDef *RTCx, uint32_t BackupRegister)
Reads data from the specified RTC Backup data Register. BKPxR BKP LL_RTC_BAK_GetRegister.
__STATIC_INLINE void LL_RTC_ALMA_DisableWeekday(RTC_TypeDef *RTCx)
Disable AlarmA Week day selection (DU[3:0] represents the date ) RTC_ALRMAR WDSEL LL_RTC_ALMA_Disabl...
__STATIC_INLINE void LL_RTC_TIME_EnableDayLightStore(RTC_TypeDef *RTCx)
Memorize whether the daylight saving time change has been performed.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TS(RTC_TypeDef *RTCx)
Get Time-stamp flag RTC_SR TSF LL_RTC_IsActiveFlag_TS.
__STATIC_INLINE void LL_RTC_CAL_SetOutputFreq(RTC_TypeDef *RTCx, uint32_t Frequency)
Set Calibration output frequency (1 Hz or 512 Hz)
__STATIC_INLINE void LL_RTC_ALMB_EnableWeekday(RTC_TypeDef *RTCx)
Enable AlarmB Week day selection (DU[3:0] represents the week day. DT[1:0] is do not care) RTC_ALRMB...
__STATIC_INLINE void LL_RTC_EnableAlarmPullUp(RTC_TypeDef *RTCx)
Enable internal pull-up in output mode. RTC_CR TAMPALRM_PU LL_RTC_EnableAlarmPullUp.
__STATIC_INLINE void LL_RTC_ClearFlag_RS(RTC_TypeDef *RTCx)
Clear Registers synchronization flag RTC_ICSR RSF LL_RTC_ClearFlag_RS.
__STATIC_INLINE void LL_RTC_DATE_SetMonth(RTC_TypeDef *RTCx, uint32_t Month)
Set Month in BCD format.
__STATIC_INLINE uint32_t LL_RTC_GetAlarmOutputType(RTC_TypeDef *RTCx)
Get RTC_ALARM output type (ALARM in push-pull or open-drain output) RTC_CR TAMPALRM_TYPE LL_RTC_SetA...
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_RECALP(RTC_TypeDef *RTCx)
Get Recalibration pending Flag RTC_ICSR RECALPF LL_RTC_IsActiveFlag_RECALP.
__STATIC_INLINE uint32_t LL_RTC_WAKEUP_GetAutoReload(RTC_TypeDef *RTCx)
Get Wakeup auto-reload value RTC_WUTR WUT LL_RTC_WAKEUP_GetAutoReload.
__STATIC_INLINE uint32_t LL_RTC_DATE_GetYear(RTC_TypeDef *RTCx)
Get Year in BCD format.
__STATIC_INLINE void LL_RTC_DisableIT_ALRA(RTC_TypeDef *RTCx)
Disable Alarm A interrupt.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRB(RTC_TypeDef *RTCx)
Get Alarm B flag RTC_SR ALRBF LL_RTC_IsActiveFlag_ALRB.
__STATIC_INLINE void LL_RTC_EnableWriteProtection(RTC_TypeDef *RTCx)
Enable the write protection for RTC registers. RTC_WPR KEY LL_RTC_EnableWriteProtection.
__STATIC_INLINE void LL_RTC_SetHourFormat(RTC_TypeDef *RTCx, uint32_t HourFormat)
Set Hours format (24 hour/day or AM/PM hour format)
__STATIC_INLINE void LL_RTC_EnableShadowRegBypass(RTC_TypeDef *RTCx)
Enable Bypass the shadow registers.
__STATIC_INLINE void LL_RTC_SetAsynchPrescaler(RTC_TypeDef *RTCx, uint32_t AsynchPrescaler)
Set Asynchronous prescaler factor RTC_PRER PREDIV_A LL_RTC_SetAsynchPrescaler.
__STATIC_INLINE void LL_RTC_TS_DisableInternalEvent(RTC_TypeDef *RTCx)
Disable internal event timestamp.
__STATIC_INLINE void LL_RTC_TS_Enable(RTC_TypeDef *RTCx)
Enable Timestamp.
__STATIC_INLINE void LL_RTC_EnableRefClock(RTC_TypeDef *RTCx)
Enable RTC_REFIN reference clock detection (50 or 60 Hz)
__STATIC_INLINE void LL_RTC_TIME_DisableDayLightStore(RTC_TypeDef *RTCx)
Disable memorization whether the daylight saving time change has been performed.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TSOV(RTC_TypeDef *RTCx)
Get Time-stamp overflow flag RTC_SR TSOVF LL_RTC_IsActiveFlag_TSOV.
__STATIC_INLINE void LL_RTC_EnableIT_TS(RTC_TypeDef *RTCx)
Enable Time-stamp interrupt.
__STATIC_INLINE void LL_RTC_SetAlarmOutputType(RTC_TypeDef *RTCx, uint32_t Output)
Set RTC_ALARM output type (ALARM in push-pull or open-drain output) RTC_CR TAMPALRM_TYPE LL_RTC_SetA...
__STATIC_INLINE void LL_RTC_DisableIT_TAMP1(TAMP_TypeDef *TAMPx)
Disable tamper 1 interrupt. TAMP_IER TAMP1IE LL_RTC_DisableIT_TAMP1.
__STATIC_INLINE uint32_t LL_RTC_DATE_GetMonth(RTC_TypeDef *RTCx)
Get Month in BCD format.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ITS(RTC_TypeDef *RTCx)
Get Internal Time-stamp flag RTC_SR ITSF LL_RTC_IsActiveFlag_ITS.
__STATIC_INLINE void LL_RTC_ALMA_SetHour(RTC_TypeDef *RTCx, uint32_t Hours)
Set ALARM A Hours in BCD format.
__STATIC_INLINE uint32_t LL_RTC_DATE_Get(RTC_TypeDef *RTCx)
Get date (WeekDay, Day, Month and Year) in BCD format.
__STATIC_INLINE void LL_RTC_TS_EnableOnTamper(RTC_TypeDef *RTCx)
Activate timestamp on tamper detection event RTC_CR TAMPTS LL_RTC_TS_EnableOnTamper.
__STATIC_INLINE void LL_RTC_SetOutputPolarity(RTC_TypeDef *RTCx, uint32_t Polarity)
Set Output polarity (pin is low when ALRAF/ALRBF/WUTF is asserted)
ErrorStatus LL_RTC_DeInit(RTC_TypeDef *RTCx)
De-Initializes the RTC registers to their default reset values.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
__STATIC_INLINE void LL_RTC_DisableWriteProtection(RTC_TypeDef *RTCx)
Disable the write protection for RTC registers. RTC_WPR KEY LL_RTC_DisableWriteProtection.
__STATIC_INLINE uint32_t LL_RTC_GetSynchPrescaler(RTC_TypeDef *RTCx)
Get Synchronous prescaler factor RTC_PRER PREDIV_S LL_RTC_GetSynchPrescaler.
void LL_RTC_ALMB_StructInit(LL_RTC_AlarmTypeDef *RTC_AlarmStruct)
Set each LL_RTC_AlarmTypeDef of ALARMA field to default value (Time = 00h:00mn:00sec / Day = 1st day ...
__STATIC_INLINE uint32_t LL_RTC_GetAlarmOutEvent(RTC_TypeDef *RTCx)
Get the flag to be routed to RTC_ALARM output RTC_CR OSEL LL_RTC_GetAlarmOutEvent.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TAMP1M(TAMP_TypeDef *TAMPx)
Get tamper 1 interrupt masked flag. TAMP_MISR TAMP1MF LL_RTC_IsActiveFlag_TAMP1M.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TAMP1(TAMP_TypeDef *TAMPx)
Check if tamper 1 interrupt is enabled or not. TAMP_IER TAMP1IE LL_RTC_IsEnabledIT_TAMP1.
__STATIC_INLINE uint32_t LL_RTC_GetOutputPolarity(RTC_TypeDef *RTCx)
Get Output polarity RTC_CR POL LL_RTC_GetOutputPolarity.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_SHP(RTC_TypeDef *RTCx)
Get Shift operation pending flag RTC_ICSR SHPF LL_RTC_IsActiveFlag_SHP.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_INITS(RTC_TypeDef *RTCx)
Get Initialization status flag RTC_ICSR INITS LL_RTC_IsActiveFlag_INITS.
__STATIC_INLINE void LL_RTC_ALMA_Enable(RTC_TypeDef *RTCx)
Enable Alarm A.
__STATIC_INLINE uint32_t LL_RTC_IsTamperOutputEnabled(RTC_TypeDef *RTCx)
Check if tamper output is enabled or not. RTC_CR TAMPOE LL_RTC_IsTamperOutputEnabled.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetDay(RTC_TypeDef *RTCx)
Get ALARM B Day in BCD format.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_RS(RTC_TypeDef *RTCx)
Get Registers synchronization flag RTC_ICSR RSF LL_RTC_IsActiveFlag_RS.
__STATIC_INLINE uint32_t LL_RTC_TS_GetActiveEdge(RTC_TypeDef *RTCx)
Get Time-stamp event active edge.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetMinute(RTC_TypeDef *RTCx)
Get ALARM B Minutes in BCD format.
__STATIC_INLINE void LL_RTC_EnableInitMode(RTC_TypeDef *RTCx)
Enable initialization mode.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetSecond(RTC_TypeDef *RTCx)
Get ALARM A Seconds in BCD format.
__STATIC_INLINE void LL_RTC_TAMPER_SetPrecharge(TAMP_TypeDef *TAMPx, uint32_t Duration)
Set RTC_TAMPx precharge duration TAMP_FLTCR TAMPPRCH LL_RTC_TAMPER_SetPrecharge. ...
__STATIC_INLINE uint32_t LL_RTC_IsAlarmPullUpEnabled(RTC_TypeDef *RTCx)
Check if internal pull-up in output mode is enabled or not. RTC_CR TAMPALRM_PU LL_RTC_IsAlarmPullUpE...
__STATIC_INLINE void LL_RTC_ALMB_DisableWeekday(RTC_TypeDef *RTCx)
Disable AlarmB Week day selection (DU[3:0] represents the date ) RTC_ALRMBR WDSEL LL_RTC_ALMB_Disabl...
__STATIC_INLINE void LL_RTC_EnableIT_TAMP1(TAMP_TypeDef *TAMPx)
Enable tamper 1 interrupt. TAMP_IER TAMP1IE LL_RTC_EnableIT_TAMP1.
__STATIC_INLINE void LL_RTC_TS_EnableInternalEvent(RTC_TypeDef *RTCx)
Enable internal event timestamp.
__STATIC_INLINE void LL_RTC_TIME_SetHour(RTC_TypeDef *RTCx, uint32_t Hours)
Set Hours in BCD format.
__STATIC_INLINE uint32_t LL_RTC_TAMPER_GetFilterCount(TAMP_TypeDef *TAMPx)
Get RTC_TAMPx filter count TAMP_FLTCR TAMPFLT LL_RTC_TAMPER_GetFilterCount.
__STATIC_INLINE uint32_t LL_RTC_WAKEUP_IsEnabled(RTC_TypeDef *RTCx)
Check if Wakeup timer is enabled or not RTC_CR WUTE LL_RTC_WAKEUP_IsEnabled.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetSubSecondMask(RTC_TypeDef *RTCx)
Get Alarm A Mask the most-significant bits starting at this bit RTC_ALRMASSR MASKSS LL_RTC_ALMA_GetS...
__STATIC_INLINE void LL_RTC_ALMA_SetSubSecondMask(RTC_TypeDef *RTCx, uint32_t Mask)
Set Alarm A Mask the most-significant bits starting at this bit.
__STATIC_INLINE uint32_t LL_RTC_GetAsynchPrescaler(RTC_TypeDef *RTCx)
Get Asynchronous prescaler factor RTC_PRER PREDIV_A LL_RTC_GetAsynchPrescaler.
__STATIC_INLINE void LL_RTC_DisableIT_WUT(RTC_TypeDef *RTCx)
Disable Wakeup timer interrupt.
__STATIC_INLINE void LL_RTC_BAK_SetRegister(RTC_TypeDef *RTCx, uint32_t BackupRegister, uint32_t Data)
Writes a data in a specified RTC Backup data register. BKPxR BKP LL_RTC_BAK_SetRegister.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRAM(RTC_TypeDef *RTCx)
Get Alarm A masked flag. RTC_MISR ALRAMF LL_RTC_IsActiveFlag_ALRAM.
__STATIC_INLINE void LL_RTC_EnableIT_WUT(RTC_TypeDef *RTCx)
Enable Wakeup timer interrupt.
RTC Time structure definition.
__STATIC_INLINE void LL_RTC_EnableIT_TAMP3(RTC_TypeDef *RTCx)
Enable Tamper 3 interrupt TAMPCR TAMP3IE LL_RTC_EnableIT_TAMP3.
__STATIC_INLINE void LL_RTC_ClearFlag_TAMP3(RTC_TypeDef *RTCx)
Clear RTC_TAMP3 detection flag ISR TAMP3F LL_RTC_ClearFlag_TAMP3.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetTimeFormat(RTC_TypeDef *RTCx)
Get ALARM B time format (AM or PM notation) RTC_ALRMBR PM LL_RTC_ALMB_GetTimeFormat.
__STATIC_INLINE void LL_RTC_DATE_SetYear(RTC_TypeDef *RTCx, uint32_t Year)
Set Year in BCD format.
void LL_RTC_ALMA_StructInit(LL_RTC_AlarmTypeDef *RTC_AlarmStruct)
Set each LL_RTC_AlarmTypeDef of ALARMA field to default value (Time = 00h:00mn:00sec / Day = 1st day ...
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetHour(RTC_TypeDef *RTCx)
Get ALARM A Hours in BCD format.
__STATIC_INLINE void LL_RTC_EnableIT_TAMP(RTC_TypeDef *RTCx)
Enable all Tamper Interrupt TAMPCR TAMPIE LL_RTC_EnableIT_TAMP.
RTC Init structures definition.
__STATIC_INLINE void LL_RTC_DisableIT_TAMP(RTC_TypeDef *RTCx)
Disable all Tamper Interrupt TAMPCR TAMPIE LL_RTC_DisableIT_TAMP.
__STATIC_INLINE void LL_RTC_WAKEUP_SetAutoClr(RTC_TypeDef *RTCx, uint32_t Value)
Set Wakeup auto-clear value.
__STATIC_INLINE uint32_t LL_RTC_TS_GetWeekDay(RTC_TypeDef *RTCx)
Get Timestamp Week day RTC_TSDR WDU LL_RTC_TS_GetWeekDay.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ITSM(RTC_TypeDef *RTCx)
Get Internal Time-stamp masked flag. RTC_MISR ITSMF LL_RTC_IsActiveFlag_ITSM.
__STATIC_INLINE void LL_RTC_TAMPER_SetSamplingFreq(TAMP_TypeDef *TAMPx, uint32_t SamplingFreq)
Set Tamper sampling frequency TAMP_FLTCR TAMPFREQ LL_RTC_TAMPER_SetSamplingFreq. ...
__STATIC_INLINE uint32_t LL_RTC_TAMPER_GetSamplingFreq(TAMP_TypeDef *TAMPx)
Get Tamper sampling frequency TAMP_FLTCR TAMPFREQ LL_RTC_TAMPER_GetSamplingFreq. ...
__STATIC_INLINE void LL_RTC_ALMB_SetHour(RTC_TypeDef *RTCx, uint32_t Hours)
Set ALARM B Hours in BCD format.
void LL_RTC_DATE_StructInit(LL_RTC_DateTypeDef *RTC_DateStruct)
Set each LL_RTC_DateTypeDef field to default value (date = Monday, January 01 xx00) ...
__STATIC_INLINE uint32_t LL_RTC_TS_GetDay(RTC_TypeDef *RTCx)
Get Timestamp Day in BCD format.
__STATIC_INLINE uint32_t LL_RTC_TIME_GetSecond(RTC_TypeDef *RTCx)
Get Seconds in BCD format.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetTime(RTC_TypeDef *RTCx)
Get Alarm B Time (hour, minute and second) in BCD format.
ErrorStatus LL_RTC_ALMB_Init(RTC_TypeDef *RTCx, uint32_t RTC_Format, LL_RTC_AlarmTypeDef *RTC_AlarmStruct)
Set the RTC Alarm B.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRBM(RTC_TypeDef *RTCx)
Get Alarm B masked flag. RTC_MISR ALRBMF LL_RTC_IsActiveFlag_ALRBM.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetSubSecond(RTC_TypeDef *RTCx)
Get Alarm A Sub seconds value RCT_ALRMASSR SS LL_RTC_ALMA_GetSubSecond.
__STATIC_INLINE void LL_RTC_ClearFlag_TS(RTC_TypeDef *RTCx)
Clear Time-stamp flag RTC_SCR CTSF LL_RTC_ClearFlag_TS.
__STATIC_INLINE void LL_RTC_DATE_SetWeekDay(RTC_TypeDef *RTCx, uint32_t WeekDay)
Set Week day RTC_DR WDU LL_RTC_DATE_SetWeekDay.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetTime(RTC_TypeDef *RTCx)
Get Alarm B Time (hour, minute and second) in BCD format.
__STATIC_INLINE void LL_RTC_TS_SetActiveEdge(RTC_TypeDef *RTCx, uint32_t Edge)
Set Time-stamp event active edge.
__STATIC_INLINE uint32_t LL_RTC_GetHourFormat(RTC_TypeDef *RTCx)
Get Hours format (24 hour/day or AM/PM hour format) RTC_CR FMT LL_RTC_GetHourFormat.
__STATIC_INLINE void LL_RTC_ClearFlag_ALRB(RTC_TypeDef *RTCx)
Clear Alarm B flag RTC_SCR CALRBF LL_RTC_ClearFlag_ALRB.
__STATIC_INLINE void LL_RTC_CAL_SetPeriod(RTC_TypeDef *RTCx, uint32_t Period)
Set the calibration cycle period.
__STATIC_INLINE void LL_RTC_ALMB_SetSubSecond(RTC_TypeDef *RTCx, uint32_t Subsecond)
Set Alarm B Sub seconds value RTC_ALRMBSSR SS LL_RTC_ALMB_SetSubSecond.
__STATIC_INLINE void LL_RTC_DisableOutRemap(RTC_TypeDef *RTCx)
Disable RTC_OUT remap OR OUT_RMP LL_RTC_DisableOutRemap.
__STATIC_INLINE void LL_RTC_ClearFlag_TAMP2(TAMP_TypeDef *TAMPx)
Clear tamper 2 detection flag. TAMP_SCR CTAMP2F LL_RTC_ClearFlag_TAMP2.
__STATIC_INLINE void LL_RTC_TAMPER_EnableEraseBKP(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Enable backup register erase after Tamper event detection TAMP_CR2 TAMP1NOERASE LL_RTC_TAMPER_Enable...
__STATIC_INLINE void LL_RTC_ALMB_Enable(RTC_TypeDef *RTCx)
Enable Alarm B.
__STATIC_INLINE void LL_RTC_ALMB_SetSubSecondMask(RTC_TypeDef *RTCx, uint32_t Mask)
Set Alarm B Mask the most-significant bits starting at this bit.
LL_RTC_TimeTypeDef AlarmTime
__STATIC_INLINE uint32_t LL_RTC_TS_GetDate(RTC_TypeDef *RTCx)
Get Timestamp date (WeekDay, Day and Month) in BCD format.
__STATIC_INLINE uint32_t LL_RTC_IsOutput2Enabled(RTC_TypeDef *RTCx)
Check if RTC_OUT2 output is enabled or not. RTC_CR OUT2EN LL_RTC_IsOutput2Enabled.
uint32_t AlarmDateWeekDaySel
__STATIC_INLINE void LL_RTC_TAMPER_EnablePullUp(TAMP_TypeDef *TAMPx)
Enable RTC_TAMPx pull-up disable ( Precharge RTC_TAMPx pins before sampling) TAMP_FLTCR TAMPPUDIS LL...
__STATIC_INLINE void LL_RTC_ALMA_SetMask(RTC_TypeDef *RTCx, uint32_t Mask)
Specify the Alarm A masks. RTC_ALRMAR MSK4 LL_RTC_ALMA_SetMask RTC_ALRMAR MSK3 LL_RTC_ALMA_SetMask ...
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_INIT(RTC_TypeDef *RTCx)
Get Initialization flag RTC_ICSR INITF LL_RTC_IsActiveFlag_INIT.
__STATIC_INLINE uint32_t LL_RTC_CAL_IsPulseInserted(RTC_TypeDef *RTCx)
Check if one RTCCLK has been inserted or not every 2exp11 pulses (frequency increased by 488...
__STATIC_INLINE void LL_RTC_TIME_Config(RTC_TypeDef *RTCx, uint32_t Format12_24, uint32_t Hours, uint32_t Minutes, uint32_t Seconds)
Set time (hour, minute and second) in BCD format.
__STATIC_INLINE void LL_RTC_TIME_SetFormat(RTC_TypeDef *RTCx, uint32_t TimeFormat)
Set time format (AM/24-hour or PM notation)
__STATIC_INLINE uint32_t LL_RTC_TIME_GetMinute(RTC_TypeDef *RTCx)
Get Minutes in BCD format.
__STATIC_INLINE void LL_RTC_WAKEUP_SetClock(RTC_TypeDef *RTCx, uint32_t WakeupClock)
Select Wakeup clock.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TSM(RTC_TypeDef *RTCx)
Get Time-stamp masked flag. RTC_MISR TSMF LL_RTC_IsActiveFlag_TSM.
__STATIC_INLINE void LL_RTC_ALMA_Disable(RTC_TypeDef *RTCx)
Disable Alarm A.
RTC Alarm structure definition.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TS(RTC_TypeDef *RTCx)
Check if Time-stamp interrupt is enabled or not RTC_CR TSIE LL_RTC_IsEnabledIT_TS.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetMinute(RTC_TypeDef *RTCx)
Get ALARM A Minutes in BCD format.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetMask(RTC_TypeDef *RTCx)
Get the Alarm A masks. RTC_ALRMAR MSK4 LL_RTC_ALMA_GetMask RTC_ALRMAR MSK3 LL_RTC_ALMA_GetMask RTC...
__STATIC_INLINE void LL_RTC_DisableIT_TAMP3(RTC_TypeDef *RTCx)
Disable Tamper 3 interrupt TAMPCR TAMP3IE LL_RTC_DisableIT_TAMP3.
__STATIC_INLINE void LL_RTC_TAMPER_EnableActiveLevel(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Enable Active level for Tamper input TAMP_CR2 TAMP1TRG LL_RTC_TAMPER_EnableActiveLevel TAMP_CR2 TAM...
__STATIC_INLINE void LL_RTC_EnableOutRemap(RTC_TypeDef *RTCx)
Enable RTC_OUT remap OR OUT_RMP LL_RTC_EnableOutRemap.
__STATIC_INLINE uint32_t LL_RTC_TS_GetSecond(RTC_TypeDef *RTCx)
Get Timestamp Seconds in BCD format.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetSecond(RTC_TypeDef *RTCx)
Get ALARM B Seconds in BCD format.
__STATIC_INLINE void LL_RTC_TIME_IncHour(RTC_TypeDef *RTCx)
Add 1 hour (summer time change)
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetTimeFormat(RTC_TypeDef *RTCx)
Get Alarm A time format (AM or PM notation) RTC_ALRMAR PM LL_RTC_ALMA_GetTimeFormat.
__STATIC_INLINE void LL_RTC_ALMB_Disable(RTC_TypeDef *RTCx)
Disable Alarm B.
__STATIC_INLINE uint32_t LL_RTC_CAL_LowPower_IsEnabled(RTC_TypeDef *RTCx)
Check if Calibration Low Power is enabled or not RTC_CALR LPCAL LL_RTC_CAL_LowPower_IsEnabled.
__STATIC_INLINE void LL_RTC_DATE_SetDay(RTC_TypeDef *RTCx, uint32_t Day)
Set Day in BCD format.
ErrorStatus LL_RTC_Init(RTC_TypeDef *RTCx, LL_RTC_InitTypeDef *RTC_InitStruct)
Initializes the RTC registers according to the specified parameters in RTC_InitStruct.
__STATIC_INLINE uint32_t LL_RTC_TIME_GetSubSecond(RTC_TypeDef *RTCx)
Get Sub second value in the synchronous prescaler counter.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_ALRA(RTC_TypeDef *RTCx)
Get Alarm A flag RTC_SR ALRAF LL_RTC_IsActiveFlag_ALRA.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_TAMP(RTC_TypeDef *RTCx)
Check if all the TAMPER interrupts are enabled or not TAMPCR TAMPIE LL_RTC_IsEnabledIT_TAMP.
__STATIC_INLINE void LL_RTC_ALMA_SetSecond(RTC_TypeDef *RTCx, uint32_t Seconds)
Set ALARM A Seconds in BCD format.
__STATIC_INLINE void LL_RTC_ClearFlag_WUT(RTC_TypeDef *RTCx)
Clear Wakeup timer flag RTC_SCR CWUTF LL_RTC_ClearFlag_WUT.
__STATIC_INLINE void LL_RTC_ALMB_SetDay(RTC_TypeDef *RTCx, uint32_t Day)
Set ALARM B Day in BCD format.
__STATIC_INLINE void LL_RTC_WAKEUP_Enable(RTC_TypeDef *RTCx)
Enable Wakeup timer.
__STATIC_INLINE void LL_RTC_TIME_SetMinute(RTC_TypeDef *RTCx, uint32_t Minutes)
Set Minutes in BCD format.
__STATIC_INLINE void LL_RTC_ALMA_SetWeekDay(RTC_TypeDef *RTCx, uint32_t WeekDay)
Set ALARM A Weekday RTC_ALRMAR DU LL_RTC_ALMA_SetWeekDay.
__STATIC_INLINE void LL_RTC_DisableIT_TS(RTC_TypeDef *RTCx)
Disable Time-stamp interrupt.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_WUT(RTC_TypeDef *RTCx)
Check if Wakeup timer interrupt is enabled or not RTC_CR WUTIE LL_RTC_IsEnabledIT_WUT.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TAMP1(TAMP_TypeDef *TAMPx)
Get tamper 1 detection flag. TAMP_SR TAMP1F LL_RTC_IsActiveFlag_TAMP1.
__STATIC_INLINE void LL_RTC_SetAlarmOutEvent(RTC_TypeDef *RTCx, uint32_t AlarmOutput)
Select the flag to be routed to RTC_ALARM output.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TSOVM(RTC_TypeDef *RTCx)
Get Time-stamp overflow masked flag. RTC_MISR TSOVMF LL_RTC_IsActiveFlag_TSOVM.
__STATIC_INLINE void LL_RTC_ClearFlag_ALRA(RTC_TypeDef *RTCx)
Clear Alarm A flag RTC_SCR CALRAF LL_RTC_ClearFlag_ALRA.
__STATIC_INLINE void LL_RTC_TS_DisableOnTamper(RTC_TypeDef *RTCx)
Disable timestamp on tamper detection event RTC_CR TAMPTS LL_RTC_TS_DisableOnTamper.
__STATIC_INLINE void LL_RTC_CAL_LowPower_Disable(RTC_TypeDef *RTCx)
Disable Calibration Low Power.
__STATIC_INLINE uint32_t LL_RTC_TIME_GetFormat(RTC_TypeDef *RTCx)
Get time format (AM or PM notation)
__STATIC_INLINE uint32_t LL_RTC_CAL_GetMinus(RTC_TypeDef *RTCx)
Get Calibration minus RTC_CALR CALM LL_RTC_CAL_GetMinus.
__STATIC_INLINE uint32_t LL_RTC_ALMB_GetMask(RTC_TypeDef *RTCx)
Get the Alarm B masks. RTC_ALRMBR MSK4 LL_RTC_ALMB_GetMask RTC_ALRMBR MSK3 LL_RTC_ALMB_GetMask RTC...
void LL_RTC_TIME_StructInit(LL_RTC_TimeTypeDef *RTC_TimeStruct)
Set each LL_RTC_TimeTypeDef field to default value (Time = 00h:00min:00sec).
__STATIC_INLINE void LL_RTC_EnableIT_TAMP2(TAMP_TypeDef *TAMPx)
Enable tamper 2 interrupt. TAMP_IER TAMP2IE LL_RTC_EnableIT_TAMP2.
ErrorStatus LL_RTC_ALMA_Init(RTC_TypeDef *RTCx, uint32_t RTC_Format, LL_RTC_AlarmTypeDef *RTC_AlarmStruct)
Set the RTC Alarm A.
__STATIC_INLINE uint32_t LL_RTC_BKP_GetRegister(TAMP_TypeDef *TAMPx, uint32_t BackupRegister)
Reads data from the specified RTC Backup data Register. TAMP_BKPxR BKP LL_RTC_BKP_GetRegister.
__STATIC_INLINE void LL_RTC_TAMPER_DisablePullUp(TAMP_TypeDef *TAMPx)
Disable RTC_TAMPx pull-up disable (Disable precharge of RTC_TAMPx pins) TAMP_FLTCR TAMPPUDIS LL_RTC_...
__STATIC_INLINE uint32_t LL_RTC_WAKEUP_GetClock(RTC_TypeDef *RTCx)
Get Wakeup clock RTC_CR WUCKSEL LL_RTC_WAKEUP_GetClock.
__STATIC_INLINE void LL_RTC_ALMB_SetTimeFormat(RTC_TypeDef *RTCx, uint32_t TimeFormat)
Set ALARM B time format (AM/24-hour or PM notation) RTC_ALRMBR PM LL_RTC_ALMB_SetTimeFormat.
__STATIC_INLINE void LL_RTC_SetSynchPrescaler(RTC_TypeDef *RTCx, uint32_t SynchPrescaler)
Set Synchronous prescaler factor RTC_PRER PREDIV_S LL_RTC_SetSynchPrescaler.
__STATIC_INLINE void LL_RTC_CAL_SetMinus(RTC_TypeDef *RTCx, uint32_t CalibMinus)
Set Calibration minus.
__STATIC_INLINE void LL_RTC_DisableOutput2(RTC_TypeDef *RTCx)
Disable RTC_OUT2 output RTC_CR OUT2EN LL_RTC_DisableOutput2.
__STATIC_INLINE void LL_RTC_TIME_SetSecond(RTC_TypeDef *RTCx, uint32_t Seconds)
Set Seconds in BCD format.
__STATIC_INLINE uint32_t LL_RTC_TS_GetMinute(RTC_TypeDef *RTCx)
Get Timestamp Minutes in BCD format.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_WUTW(RTC_TypeDef *RTCx)
Get Wakeup timer write flag RTC_ICSR WUTWF LL_RTC_IsActiveFlag_WUTW.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_ALRA(RTC_TypeDef *RTCx)
Check if Alarm A interrupt is enabled or not RTC_CR ALRAIE LL_RTC_IsEnabledIT_ALRA.
__STATIC_INLINE void LL_RTC_ALMB_SetWeekDay(RTC_TypeDef *RTCx, uint32_t WeekDay)
Set ALARM B Weekday RTC_ALRMBR DU LL_RTC_ALMB_SetWeekDay.
__STATIC_INLINE void LL_RTC_DisableIT_TAMP2(TAMP_TypeDef *TAMPx)
Disable tamper 2 interrupt. TAMP_IER TAMP2IE LL_RTC_DisableIT_TAMP2.
__STATIC_INLINE uint32_t LL_RTC_IsEnabledIT_ALRB(RTC_TypeDef *RTCx)
Check if Alarm B interrupt is enabled or not RTC_CR ALRBIE LL_RTC_IsEnabledIT_ALRB.
__STATIC_INLINE void LL_RTC_ALMB_SetMinute(RTC_TypeDef *RTCx, uint32_t Minutes)
Set ALARM B Minutes in BCD format.
__STATIC_INLINE uint32_t LL_RTC_WAKEUP_GetAutoClr(RTC_TypeDef *RTCx)
Get Wakeup auto-clear value RTC_WUTR WUTOCLR LL_RTC_WAKEUP_GetAutoClr.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TAMP2(TAMP_TypeDef *TAMPx)
Get tamper 2 detection flag. TAMP_SR TAMP2F LL_RTC_IsActiveFlag_TAMP2.
__STATIC_INLINE void LL_RTC_ALMA_SetDay(RTC_TypeDef *RTCx, uint32_t Day)
Set ALARM A Day in BCD format.
__STATIC_INLINE uint32_t LL_RTC_ALMA_GetDay(RTC_TypeDef *RTCx)
Get ALARM A Day in BCD format.
__STATIC_INLINE void LL_RTC_ALMB_SetMask(RTC_TypeDef *RTCx, uint32_t Mask)
Specify the Alarm B masks. RTC_ALRMBR MSK4 LL_RTC_ALMB_SetMask RTC_ALRMBR MSK3 LL_RTC_ALMB_SetMask ...
__STATIC_INLINE uint32_t LL_RTC_TS_GetTimeFormat(RTC_TypeDef *RTCx)
Get Timestamp AM/PM notation (AM or 24-hour format) RTC_TSTR PM LL_RTC_TS_GetTimeFormat.
__STATIC_INLINE uint32_t LL_RTC_IsActiveFlag_TAMP2M(TAMP_TypeDef *TAMPx)
Get tamper 2 interrupt masked flag. TAMP_MISR TAMP2MF LL_RTC_IsActiveFlag_TAMP2M.
__STATIC_INLINE void LL_RTC_ClearFlag_TAMP1(TAMP_TypeDef *TAMPx)
Clear tamper 1 detection flag. TAMP_SCR CTAMP1F LL_RTC_ClearFlag_TAMP1.
__STATIC_INLINE void LL_RTC_EnableTamperOutput(RTC_TypeDef *RTCx)
Enable tamper output.
__STATIC_INLINE void LL_RTC_TAMPER_DisableEraseBKP(TAMP_TypeDef *TAMPx, uint32_t Tamper)
Disable backup register erase after Tamper event detection TAMP_CR2 TAMP1NOERASE LL_RTC_TAMPER_Disab...
ErrorStatus LL_RTC_EnterInitMode(RTC_TypeDef *RTCx)
Enters the RTC Initialization mode.
__STATIC_INLINE void LL_RTC_TAMPER_SetFilterCount(TAMP_TypeDef *TAMPx, uint32_t FilterCount)
Set RTC_TAMPx filter count TAMP_FLTCR TAMPFLT LL_RTC_TAMPER_SetFilterCount.