21 #ifndef __STM32L4xx_LL_TIM_H 22 #define __STM32L4xx_LL_TIM_H 29 #include "stm32l4xx.h" 35 #if defined (TIM1) || defined (TIM8) || defined (TIM2) || defined (TIM3) || defined (TIM4) || defined (TIM5) || defined (TIM15) || defined (TIM16) || defined (TIM17) || defined (TIM6) || defined (TIM7) 120 #define TIM_POSITION_BRK_SOURCE (POSITION_VAL(Source) & 0x1FUL) 123 #define TIMx_OR2_BKINE TIM1_OR2_BKINE 124 #define TIMx_OR2_BKCOMP1E TIM1_OR2_BKCMP1E 125 #define TIMx_OR2_BKCOMP2E TIM1_OR2_BKCMP2E 126 #if defined(DFSDM1_Channel0) 127 #define TIMx_OR2_BKDF1BK0E TIM1_OR2_BKDF1BK0E 129 #define TIMx_OR2_BKINP TIM1_OR2_BKINP 130 #define TIMx_OR2_BKCOMP1P TIM1_OR2_BKCMP1P 131 #define TIMx_OR2_BKCOMP2P TIM1_OR2_BKCMP2P 132 #define TIMx_OR2_ETRSEL TIM1_OR2_ETRSEL 135 #define TIMx_OR3_BK2INE TIM1_OR3_BK2INE 136 #define TIMx_OR3_BK2COMP1E TIM1_OR3_BK2CMP1E 137 #define TIMx_OR3_BK2COMP2E TIM1_OR3_BK2CMP2E 138 #if defined(DFSDM1_Channel0) 139 #define TIMx_OR3_BK2DF1BK1E TIM1_OR3_BK2DF1BK1E 141 #define TIMx_OR3_BK2INP TIM1_OR3_BK2INP 142 #define TIMx_OR3_BK2COMP1P TIM1_OR3_BK2CMP1P 143 #define TIMx_OR3_BK2COMP2P TIM1_OR3_BK2CMP2P 146 #define TIMx_OR1_RMP_SHIFT 16U 147 #define TIMx_OR1_RMP_MASK 0x0000FFFFU 149 #define TIM1_OR1_RMP_MASK ((TIM1_OR1_ETR_ADC1_RMP | TIM1_OR1_ETR_ADC3_RMP | TIM1_OR1_TI1_RMP) << TIMx_OR1_RMP_SHIFT) 151 #define TIM1_OR1_RMP_MASK ((TIM1_OR1_ETR_ADC1_RMP | TIM1_OR1_TI1_RMP) << TIMx_OR1_RMP_SHIFT) 153 #define TIM2_OR1_RMP_MASK ((TIM2_OR1_TI4_RMP | TIM2_OR1_ETR1_RMP | TIM2_OR1_ITR1_RMP) << TIMx_OR1_RMP_SHIFT) 154 #define TIM3_OR1_RMP_MASK (TIM3_OR1_TI1_RMP << TIMx_OR1_RMP_SHIFT) 155 #if defined(ADC2) && defined(ADC3) 156 #define TIM8_OR1_RMP_MASK ((TIM8_OR1_ETR_ADC2_RMP | TIM8_OR1_ETR_ADC3_RMP | TIM8_OR1_TI1_RMP) << TIMx_OR1_RMP_SHIFT) 158 #define TIM8_OR1_RMP_MASK (TIM8_OR1_TI1_RMP << TIMx_OR1_RMP_SHIFT) 160 #define TIM15_OR1_RMP_MASK (TIM15_OR1_TI1_RMP << TIMx_OR1_RMP_SHIFT) 161 #define TIM16_OR1_RMP_MASK (TIM16_OR1_TI1_RMP << TIMx_OR1_RMP_SHIFT) 162 #define TIM17_OR1_RMP_MASK (TIM17_OR1_TI1_RMP << TIMx_OR1_RMP_SHIFT) 165 #define DT_DELAY_1 ((uint8_t)0x7F) 166 #define DT_DELAY_2 ((uint8_t)0x3F) 167 #define DT_DELAY_3 ((uint8_t)0x1F) 168 #define DT_DELAY_4 ((uint8_t)0x1F) 171 #define DT_RANGE_1 ((uint8_t)0x00) 172 #define DT_RANGE_2 ((uint8_t)0x80) 173 #define DT_RANGE_3 ((uint8_t)0xC0) 174 #define DT_RANGE_4 ((uint8_t)0xE0) 179 #if defined(DFSDM1_Channel0) 180 #define TIMx_OR2_BKDFBK0E TIMx_OR2_BKDF1BK0E 181 #define TIMx_OR3_BK2DFBK1E TIMx_OR3_BK2DF1BK1E 208 #define TIM_GET_CHANNEL_INDEX( __CHANNEL__) \ 209 (((__CHANNEL__) == LL_TIM_CHANNEL_CH1) ? 0U :\ 210 ((__CHANNEL__) == LL_TIM_CHANNEL_CH1N) ? 1U :\ 211 ((__CHANNEL__) == LL_TIM_CHANNEL_CH2) ? 2U :\ 212 ((__CHANNEL__) == LL_TIM_CHANNEL_CH2N) ? 3U :\ 213 ((__CHANNEL__) == LL_TIM_CHANNEL_CH3) ? 4U :\ 214 ((__CHANNEL__) == LL_TIM_CHANNEL_CH3N) ? 5U :\ 215 ((__CHANNEL__) == LL_TIM_CHANNEL_CH4) ? 6U :\ 216 ((__CHANNEL__) == LL_TIM_CHANNEL_CH5) ? 7U : 8U) 226 #define TIM_CALC_DTS(__TIMCLK__, __CKD__) \ 227 (((__CKD__) == LL_TIM_CLOCKDIVISION_DIV1) ? ((uint64_t)1000000000000U/(__TIMCLK__)) : \ 228 ((__CKD__) == LL_TIM_CLOCKDIVISION_DIV2) ? ((uint64_t)1000000000000U/((__TIMCLK__) >> 1U)) : \ 229 ((uint64_t)1000000000000U/((__TIMCLK__) >> 2U))) 236 #if defined(USE_FULL_LL_DRIVER) 535 #define LL_TIM_SR_UIF TIM_SR_UIF 536 #define LL_TIM_SR_CC1IF TIM_SR_CC1IF 537 #define LL_TIM_SR_CC2IF TIM_SR_CC2IF 538 #define LL_TIM_SR_CC3IF TIM_SR_CC3IF 539 #define LL_TIM_SR_CC4IF TIM_SR_CC4IF 540 #define LL_TIM_SR_CC5IF TIM_SR_CC5IF 541 #define LL_TIM_SR_CC6IF TIM_SR_CC6IF 542 #define LL_TIM_SR_COMIF TIM_SR_COMIF 543 #define LL_TIM_SR_TIF TIM_SR_TIF 544 #define LL_TIM_SR_BIF TIM_SR_BIF 545 #define LL_TIM_SR_B2IF TIM_SR_B2IF 546 #define LL_TIM_SR_CC1OF TIM_SR_CC1OF 547 #define LL_TIM_SR_CC2OF TIM_SR_CC2OF 548 #define LL_TIM_SR_CC3OF TIM_SR_CC3OF 549 #define LL_TIM_SR_CC4OF TIM_SR_CC4OF 550 #define LL_TIM_SR_SBIF TIM_SR_SBIF 555 #if defined(USE_FULL_LL_DRIVER) 559 #define LL_TIM_BREAK_DISABLE 0x00000000U 560 #define LL_TIM_BREAK_ENABLE TIM_BDTR_BKE 568 #define LL_TIM_BREAK2_DISABLE 0x00000000U 569 #define LL_TIM_BREAK2_ENABLE TIM_BDTR_BK2E 577 #define LL_TIM_AUTOMATICOUTPUT_DISABLE 0x00000000U 578 #define LL_TIM_AUTOMATICOUTPUT_ENABLE TIM_BDTR_AOE 588 #define LL_TIM_DIER_UIE TIM_DIER_UIE 589 #define LL_TIM_DIER_CC1IE TIM_DIER_CC1IE 590 #define LL_TIM_DIER_CC2IE TIM_DIER_CC2IE 591 #define LL_TIM_DIER_CC3IE TIM_DIER_CC3IE 592 #define LL_TIM_DIER_CC4IE TIM_DIER_CC4IE 593 #define LL_TIM_DIER_COMIE TIM_DIER_COMIE 594 #define LL_TIM_DIER_TIE TIM_DIER_TIE 595 #define LL_TIM_DIER_BIE TIM_DIER_BIE 603 #define LL_TIM_UPDATESOURCE_REGULAR 0x00000000U 604 #define LL_TIM_UPDATESOURCE_COUNTER TIM_CR1_URS 612 #define LL_TIM_ONEPULSEMODE_SINGLE TIM_CR1_OPM 613 #define LL_TIM_ONEPULSEMODE_REPETITIVE 0x00000000U 621 #define LL_TIM_COUNTERMODE_UP 0x00000000U 622 #define LL_TIM_COUNTERMODE_DOWN TIM_CR1_DIR 623 #define LL_TIM_COUNTERMODE_CENTER_UP TIM_CR1_CMS_0 624 #define LL_TIM_COUNTERMODE_CENTER_DOWN TIM_CR1_CMS_1 625 #define LL_TIM_COUNTERMODE_CENTER_UP_DOWN TIM_CR1_CMS 633 #define LL_TIM_CLOCKDIVISION_DIV1 0x00000000U 634 #define LL_TIM_CLOCKDIVISION_DIV2 TIM_CR1_CKD_0 635 #define LL_TIM_CLOCKDIVISION_DIV4 TIM_CR1_CKD_1 643 #define LL_TIM_COUNTERDIRECTION_UP 0x00000000U 644 #define LL_TIM_COUNTERDIRECTION_DOWN TIM_CR1_DIR 652 #define LL_TIM_CCUPDATESOURCE_COMG_ONLY 0x00000000U 653 #define LL_TIM_CCUPDATESOURCE_COMG_AND_TRGI TIM_CR2_CCUS 661 #define LL_TIM_CCDMAREQUEST_CC 0x00000000U 662 #define LL_TIM_CCDMAREQUEST_UPDATE TIM_CR2_CCDS 670 #define LL_TIM_LOCKLEVEL_OFF 0x00000000U 671 #define LL_TIM_LOCKLEVEL_1 TIM_BDTR_LOCK_0 672 #define LL_TIM_LOCKLEVEL_2 TIM_BDTR_LOCK_1 673 #define LL_TIM_LOCKLEVEL_3 TIM_BDTR_LOCK 681 #define LL_TIM_CHANNEL_CH1 TIM_CCER_CC1E 682 #define LL_TIM_CHANNEL_CH1N TIM_CCER_CC1NE 683 #define LL_TIM_CHANNEL_CH2 TIM_CCER_CC2E 684 #define LL_TIM_CHANNEL_CH2N TIM_CCER_CC2NE 685 #define LL_TIM_CHANNEL_CH3 TIM_CCER_CC3E 686 #define LL_TIM_CHANNEL_CH3N TIM_CCER_CC3NE 687 #define LL_TIM_CHANNEL_CH4 TIM_CCER_CC4E 688 #define LL_TIM_CHANNEL_CH5 TIM_CCER_CC5E 689 #define LL_TIM_CHANNEL_CH6 TIM_CCER_CC6E 694 #if defined(USE_FULL_LL_DRIVER) 698 #define LL_TIM_OCSTATE_DISABLE 0x00000000U 699 #define LL_TIM_OCSTATE_ENABLE TIM_CCER_CC1E 708 #define LL_TIM_OCMODE_FROZEN 0x00000000U 709 #define LL_TIM_OCMODE_ACTIVE TIM_CCMR1_OC1M_0 710 #define LL_TIM_OCMODE_INACTIVE TIM_CCMR1_OC1M_1 711 #define LL_TIM_OCMODE_TOGGLE (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) 712 #define LL_TIM_OCMODE_FORCED_INACTIVE TIM_CCMR1_OC1M_2 713 #define LL_TIM_OCMODE_FORCED_ACTIVE (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0) 714 #define LL_TIM_OCMODE_PWM1 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1) 715 #define LL_TIM_OCMODE_PWM2 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) 716 #define LL_TIM_OCMODE_RETRIG_OPM1 TIM_CCMR1_OC1M_3 717 #define LL_TIM_OCMODE_RETRIG_OPM2 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0) 718 #define LL_TIM_OCMODE_COMBINED_PWM1 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_2) 719 #define LL_TIM_OCMODE_COMBINED_PWM2 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_2) 720 #define LL_TIM_OCMODE_ASSYMETRIC_PWM1 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2) 721 #define LL_TIM_OCMODE_ASSYMETRIC_PWM2 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M) 729 #define LL_TIM_OCPOLARITY_HIGH 0x00000000U 730 #define LL_TIM_OCPOLARITY_LOW TIM_CCER_CC1P 738 #define LL_TIM_OCIDLESTATE_LOW 0x00000000U 739 #define LL_TIM_OCIDLESTATE_HIGH TIM_CR2_OIS1 747 #define LL_TIM_GROUPCH5_NONE 0x00000000U 748 #define LL_TIM_GROUPCH5_OC1REFC TIM_CCR5_GC5C1 749 #define LL_TIM_GROUPCH5_OC2REFC TIM_CCR5_GC5C2 750 #define LL_TIM_GROUPCH5_OC3REFC TIM_CCR5_GC5C3 758 #define LL_TIM_ACTIVEINPUT_DIRECTTI (TIM_CCMR1_CC1S_0 << 16U) 759 #define LL_TIM_ACTIVEINPUT_INDIRECTTI (TIM_CCMR1_CC1S_1 << 16U) 760 #define LL_TIM_ACTIVEINPUT_TRC (TIM_CCMR1_CC1S << 16U) 768 #define LL_TIM_ICPSC_DIV1 0x00000000U 769 #define LL_TIM_ICPSC_DIV2 (TIM_CCMR1_IC1PSC_0 << 16U) 770 #define LL_TIM_ICPSC_DIV4 (TIM_CCMR1_IC1PSC_1 << 16U) 771 #define LL_TIM_ICPSC_DIV8 (TIM_CCMR1_IC1PSC << 16U) 779 #define LL_TIM_IC_FILTER_FDIV1 0x00000000U 780 #define LL_TIM_IC_FILTER_FDIV1_N2 (TIM_CCMR1_IC1F_0 << 16U) 781 #define LL_TIM_IC_FILTER_FDIV1_N4 (TIM_CCMR1_IC1F_1 << 16U) 782 #define LL_TIM_IC_FILTER_FDIV1_N8 ((TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_0) << 16U) 783 #define LL_TIM_IC_FILTER_FDIV2_N6 (TIM_CCMR1_IC1F_2 << 16U) 784 #define LL_TIM_IC_FILTER_FDIV2_N8 ((TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_0) << 16U) 785 #define LL_TIM_IC_FILTER_FDIV4_N6 ((TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_1) << 16U) 786 #define LL_TIM_IC_FILTER_FDIV4_N8 ((TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_0) << 16U) 787 #define LL_TIM_IC_FILTER_FDIV8_N6 (TIM_CCMR1_IC1F_3 << 16U) 788 #define LL_TIM_IC_FILTER_FDIV8_N8 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_0) << 16U) 789 #define LL_TIM_IC_FILTER_FDIV16_N5 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_1) << 16U) 790 #define LL_TIM_IC_FILTER_FDIV16_N6 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_0) << 16U) 791 #define LL_TIM_IC_FILTER_FDIV16_N8 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_2) << 16U) 792 #define LL_TIM_IC_FILTER_FDIV32_N5 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_0) << 16U) 793 #define LL_TIM_IC_FILTER_FDIV32_N6 ((TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_1) << 16U) 794 #define LL_TIM_IC_FILTER_FDIV32_N8 (TIM_CCMR1_IC1F << 16U) 802 #define LL_TIM_IC_POLARITY_RISING 0x00000000U 803 #define LL_TIM_IC_POLARITY_FALLING TIM_CCER_CC1P 804 #define LL_TIM_IC_POLARITY_BOTHEDGE (TIM_CCER_CC1P | TIM_CCER_CC1NP) 812 #define LL_TIM_CLOCKSOURCE_INTERNAL 0x00000000U 813 #define LL_TIM_CLOCKSOURCE_EXT_MODE1 (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0) 814 #define LL_TIM_CLOCKSOURCE_EXT_MODE2 TIM_SMCR_ECE 822 #define LL_TIM_ENCODERMODE_X2_TI1 TIM_SMCR_SMS_0 823 #define LL_TIM_ENCODERMODE_X2_TI2 TIM_SMCR_SMS_1 824 #define LL_TIM_ENCODERMODE_X4_TI12 (TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0) 832 #define LL_TIM_TRGO_RESET 0x00000000U 833 #define LL_TIM_TRGO_ENABLE TIM_CR2_MMS_0 834 #define LL_TIM_TRGO_UPDATE TIM_CR2_MMS_1 835 #define LL_TIM_TRGO_CC1IF (TIM_CR2_MMS_1 | TIM_CR2_MMS_0) 836 #define LL_TIM_TRGO_OC1REF TIM_CR2_MMS_2 837 #define LL_TIM_TRGO_OC2REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_0) 838 #define LL_TIM_TRGO_OC3REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_1) 839 #define LL_TIM_TRGO_OC4REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_1 | TIM_CR2_MMS_0) 847 #define LL_TIM_TRGO2_RESET 0x00000000U 848 #define LL_TIM_TRGO2_ENABLE TIM_CR2_MMS2_0 849 #define LL_TIM_TRGO2_UPDATE TIM_CR2_MMS2_1 850 #define LL_TIM_TRGO2_CC1F (TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0) 851 #define LL_TIM_TRGO2_OC1 TIM_CR2_MMS2_2 852 #define LL_TIM_TRGO2_OC2 (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0) 853 #define LL_TIM_TRGO2_OC3 (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1) 854 #define LL_TIM_TRGO2_OC4 (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0) 855 #define LL_TIM_TRGO2_OC5 TIM_CR2_MMS2_3 856 #define LL_TIM_TRGO2_OC6 (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_0) 857 #define LL_TIM_TRGO2_OC4_RISINGFALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1) 858 #define LL_TIM_TRGO2_OC6_RISINGFALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0) 859 #define LL_TIM_TRGO2_OC4_RISING_OC6_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2) 860 #define LL_TIM_TRGO2_OC4_RISING_OC6_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0) 861 #define LL_TIM_TRGO2_OC5_RISING_OC6_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1) 862 #define LL_TIM_TRGO2_OC5_RISING_OC6_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0) 870 #define LL_TIM_SLAVEMODE_DISABLED 0x00000000U 871 #define LL_TIM_SLAVEMODE_RESET TIM_SMCR_SMS_2 872 #define LL_TIM_SLAVEMODE_GATED (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0) 873 #define LL_TIM_SLAVEMODE_TRIGGER (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1) 874 #define LL_TIM_SLAVEMODE_COMBINED_RESETTRIGGER TIM_SMCR_SMS_3 882 #define LL_TIM_TS_ITR0 0x00000000U 883 #define LL_TIM_TS_ITR1 TIM_SMCR_TS_0 884 #define LL_TIM_TS_ITR2 TIM_SMCR_TS_1 885 #define LL_TIM_TS_ITR3 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1) 886 #define LL_TIM_TS_TI1F_ED TIM_SMCR_TS_2 887 #define LL_TIM_TS_TI1FP1 (TIM_SMCR_TS_2 | TIM_SMCR_TS_0) 888 #define LL_TIM_TS_TI2FP2 (TIM_SMCR_TS_2 | TIM_SMCR_TS_1) 889 #define LL_TIM_TS_ETRF (TIM_SMCR_TS_2 | TIM_SMCR_TS_1 | TIM_SMCR_TS_0) 897 #define LL_TIM_ETR_POLARITY_NONINVERTED 0x00000000U 898 #define LL_TIM_ETR_POLARITY_INVERTED TIM_SMCR_ETP 906 #define LL_TIM_ETR_PRESCALER_DIV1 0x00000000U 907 #define LL_TIM_ETR_PRESCALER_DIV2 TIM_SMCR_ETPS_0 908 #define LL_TIM_ETR_PRESCALER_DIV4 TIM_SMCR_ETPS_1 909 #define LL_TIM_ETR_PRESCALER_DIV8 TIM_SMCR_ETPS 917 #define LL_TIM_ETR_FILTER_FDIV1 0x00000000U 918 #define LL_TIM_ETR_FILTER_FDIV1_N2 TIM_SMCR_ETF_0 919 #define LL_TIM_ETR_FILTER_FDIV1_N4 TIM_SMCR_ETF_1 920 #define LL_TIM_ETR_FILTER_FDIV1_N8 (TIM_SMCR_ETF_1 | TIM_SMCR_ETF_0) 921 #define LL_TIM_ETR_FILTER_FDIV2_N6 TIM_SMCR_ETF_2 922 #define LL_TIM_ETR_FILTER_FDIV2_N8 (TIM_SMCR_ETF_2 | TIM_SMCR_ETF_0) 923 #define LL_TIM_ETR_FILTER_FDIV4_N6 (TIM_SMCR_ETF_2 | TIM_SMCR_ETF_1) 924 #define LL_TIM_ETR_FILTER_FDIV4_N8 (TIM_SMCR_ETF_2 | TIM_SMCR_ETF_1 | TIM_SMCR_ETF_0) 925 #define LL_TIM_ETR_FILTER_FDIV8_N6 TIM_SMCR_ETF_3 926 #define LL_TIM_ETR_FILTER_FDIV8_N8 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_0) 927 #define LL_TIM_ETR_FILTER_FDIV16_N5 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_1) 928 #define LL_TIM_ETR_FILTER_FDIV16_N6 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_1 | TIM_SMCR_ETF_0) 929 #define LL_TIM_ETR_FILTER_FDIV16_N8 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_2) 930 #define LL_TIM_ETR_FILTER_FDIV32_N5 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_2 | TIM_SMCR_ETF_0) 931 #define LL_TIM_ETR_FILTER_FDIV32_N6 (TIM_SMCR_ETF_3 | TIM_SMCR_ETF_2 | TIM_SMCR_ETF_1) 932 #define LL_TIM_ETR_FILTER_FDIV32_N8 TIM_SMCR_ETF 940 #define LL_TIM_ETRSOURCE_LEGACY 0x00000000U 941 #define LL_TIM_ETRSOURCE_COMP1 TIM1_OR2_ETRSEL_0 942 #define LL_TIM_ETRSOURCE_COMP2 TIM1_OR2_ETRSEL_1 950 #define LL_TIM_BREAK_POLARITY_LOW 0x00000000U 951 #define LL_TIM_BREAK_POLARITY_HIGH TIM_BDTR_BKP 959 #define LL_TIM_BREAK_FILTER_FDIV1 0x00000000U 960 #define LL_TIM_BREAK_FILTER_FDIV1_N2 0x00010000U 961 #define LL_TIM_BREAK_FILTER_FDIV1_N4 0x00020000U 962 #define LL_TIM_BREAK_FILTER_FDIV1_N8 0x00030000U 963 #define LL_TIM_BREAK_FILTER_FDIV2_N6 0x00040000U 964 #define LL_TIM_BREAK_FILTER_FDIV2_N8 0x00050000U 965 #define LL_TIM_BREAK_FILTER_FDIV4_N6 0x00060000U 966 #define LL_TIM_BREAK_FILTER_FDIV4_N8 0x00070000U 967 #define LL_TIM_BREAK_FILTER_FDIV8_N6 0x00080000U 968 #define LL_TIM_BREAK_FILTER_FDIV8_N8 0x00090000U 969 #define LL_TIM_BREAK_FILTER_FDIV16_N5 0x000A0000U 970 #define LL_TIM_BREAK_FILTER_FDIV16_N6 0x000B0000U 971 #define LL_TIM_BREAK_FILTER_FDIV16_N8 0x000C0000U 972 #define LL_TIM_BREAK_FILTER_FDIV32_N5 0x000D0000U 973 #define LL_TIM_BREAK_FILTER_FDIV32_N6 0x000E0000U 974 #define LL_TIM_BREAK_FILTER_FDIV32_N8 0x000F0000U 982 #define LL_TIM_BREAK2_POLARITY_LOW 0x00000000U 983 #define LL_TIM_BREAK2_POLARITY_HIGH TIM_BDTR_BK2P 991 #define LL_TIM_BREAK2_FILTER_FDIV1 0x00000000U 992 #define LL_TIM_BREAK2_FILTER_FDIV1_N2 0x00100000U 993 #define LL_TIM_BREAK2_FILTER_FDIV1_N4 0x00200000U 994 #define LL_TIM_BREAK2_FILTER_FDIV1_N8 0x00300000U 995 #define LL_TIM_BREAK2_FILTER_FDIV2_N6 0x00400000U 996 #define LL_TIM_BREAK2_FILTER_FDIV2_N8 0x00500000U 997 #define LL_TIM_BREAK2_FILTER_FDIV4_N6 0x00600000U 998 #define LL_TIM_BREAK2_FILTER_FDIV4_N8 0x00700000U 999 #define LL_TIM_BREAK2_FILTER_FDIV8_N6 0x00800000U 1000 #define LL_TIM_BREAK2_FILTER_FDIV8_N8 0x00900000U 1001 #define LL_TIM_BREAK2_FILTER_FDIV16_N5 0x00A00000U 1002 #define LL_TIM_BREAK2_FILTER_FDIV16_N6 0x00B00000U 1003 #define LL_TIM_BREAK2_FILTER_FDIV16_N8 0x00C00000U 1004 #define LL_TIM_BREAK2_FILTER_FDIV32_N5 0x00D00000U 1005 #define LL_TIM_BREAK2_FILTER_FDIV32_N6 0x00E00000U 1006 #define LL_TIM_BREAK2_FILTER_FDIV32_N8 0x00F00000U 1014 #define LL_TIM_OSSI_DISABLE 0x00000000U 1015 #define LL_TIM_OSSI_ENABLE TIM_BDTR_OSSI 1023 #define LL_TIM_OSSR_DISABLE 0x00000000U 1024 #define LL_TIM_OSSR_ENABLE TIM_BDTR_OSSR 1032 #define LL_TIM_BREAK_INPUT_BKIN 0x00000000U 1033 #define LL_TIM_BREAK_INPUT_BKIN2 0x00000004U 1041 #define LL_TIM_BKIN_SOURCE_BKIN TIM1_OR2_BKINE 1042 #define LL_TIM_BKIN_SOURCE_BKCOMP1 TIM1_OR2_BKCMP1E 1043 #define LL_TIM_BKIN_SOURCE_BKCOMP2 TIM1_OR2_BKCMP2E 1044 #if defined(DFSDM1_Channel0) 1045 #define LL_TIM_BKIN_SOURCE_DF1BK TIM1_OR2_BKDF1BK0E 1054 #define LL_TIM_BKIN_POLARITY_LOW TIM1_OR2_BKINP 1055 #define LL_TIM_BKIN_POLARITY_HIGH 0x00000000U 1063 #define LL_TIM_DMABURST_BASEADDR_CR1 0x00000000U 1064 #define LL_TIM_DMABURST_BASEADDR_CR2 TIM_DCR_DBA_0 1065 #define LL_TIM_DMABURST_BASEADDR_SMCR TIM_DCR_DBA_1 1066 #define LL_TIM_DMABURST_BASEADDR_DIER (TIM_DCR_DBA_1 | TIM_DCR_DBA_0) 1067 #define LL_TIM_DMABURST_BASEADDR_SR TIM_DCR_DBA_2 1068 #define LL_TIM_DMABURST_BASEADDR_EGR (TIM_DCR_DBA_2 | TIM_DCR_DBA_0) 1069 #define LL_TIM_DMABURST_BASEADDR_CCMR1 (TIM_DCR_DBA_2 | TIM_DCR_DBA_1) 1070 #define LL_TIM_DMABURST_BASEADDR_CCMR2 (TIM_DCR_DBA_2 | TIM_DCR_DBA_1 | TIM_DCR_DBA_0) 1071 #define LL_TIM_DMABURST_BASEADDR_CCER TIM_DCR_DBA_3 1072 #define LL_TIM_DMABURST_BASEADDR_CNT (TIM_DCR_DBA_3 | TIM_DCR_DBA_0) 1073 #define LL_TIM_DMABURST_BASEADDR_PSC (TIM_DCR_DBA_3 | TIM_DCR_DBA_1) 1074 #define LL_TIM_DMABURST_BASEADDR_ARR (TIM_DCR_DBA_3 | TIM_DCR_DBA_1 | TIM_DCR_DBA_0) 1075 #define LL_TIM_DMABURST_BASEADDR_RCR (TIM_DCR_DBA_3 | TIM_DCR_DBA_2) 1076 #define LL_TIM_DMABURST_BASEADDR_CCR1 (TIM_DCR_DBA_3 | TIM_DCR_DBA_2 | TIM_DCR_DBA_0) 1077 #define LL_TIM_DMABURST_BASEADDR_CCR2 (TIM_DCR_DBA_3 | TIM_DCR_DBA_2 | TIM_DCR_DBA_1) 1078 #define LL_TIM_DMABURST_BASEADDR_CCR3 (TIM_DCR_DBA_3 | TIM_DCR_DBA_2 | TIM_DCR_DBA_1 | TIM_DCR_DBA_0) 1079 #define LL_TIM_DMABURST_BASEADDR_CCR4 TIM_DCR_DBA_4 1080 #define LL_TIM_DMABURST_BASEADDR_BDTR (TIM_DCR_DBA_4 | TIM_DCR_DBA_0) 1081 #define LL_TIM_DMABURST_BASEADDR_OR1 (TIM_DCR_DBA_4 | TIM_DCR_DBA_2) 1082 #define LL_TIM_DMABURST_BASEADDR_CCMR3 (TIM_DCR_DBA_4 | TIM_DCR_DBA_2 | TIM_DCR_DBA_0) 1083 #define LL_TIM_DMABURST_BASEADDR_CCR5 (TIM_DCR_DBA_4 | TIM_DCR_DBA_2 | TIM_DCR_DBA_1) 1084 #define LL_TIM_DMABURST_BASEADDR_CCR6 (TIM_DCR_DBA_4 | TIM_DCR_DBA_2 | TIM_DCR_DBA_1 | TIM_DCR_DBA_0) 1085 #define LL_TIM_DMABURST_BASEADDR_OR2 (TIM_DCR_DBA_4 | TIM_DCR_DBA_3) 1086 #define LL_TIM_DMABURST_BASEADDR_OR3 (TIM_DCR_DBA_4 | TIM_DCR_DBA_3 | TIM_DCR_DBA_0) 1094 #define LL_TIM_DMABURST_LENGTH_1TRANSFER 0x00000000U 1095 #define LL_TIM_DMABURST_LENGTH_2TRANSFERS TIM_DCR_DBL_0 1096 #define LL_TIM_DMABURST_LENGTH_3TRANSFERS TIM_DCR_DBL_1 1097 #define LL_TIM_DMABURST_LENGTH_4TRANSFERS (TIM_DCR_DBL_1 | TIM_DCR_DBL_0) 1098 #define LL_TIM_DMABURST_LENGTH_5TRANSFERS TIM_DCR_DBL_2 1099 #define LL_TIM_DMABURST_LENGTH_6TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_0) 1100 #define LL_TIM_DMABURST_LENGTH_7TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_1) 1101 #define LL_TIM_DMABURST_LENGTH_8TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_1 | TIM_DCR_DBL_0) 1102 #define LL_TIM_DMABURST_LENGTH_9TRANSFERS TIM_DCR_DBL_3 1103 #define LL_TIM_DMABURST_LENGTH_10TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_0) 1104 #define LL_TIM_DMABURST_LENGTH_11TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_1) 1105 #define LL_TIM_DMABURST_LENGTH_12TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_1 | TIM_DCR_DBL_0) 1106 #define LL_TIM_DMABURST_LENGTH_13TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_2) 1107 #define LL_TIM_DMABURST_LENGTH_14TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_2 | TIM_DCR_DBL_0) 1108 #define LL_TIM_DMABURST_LENGTH_15TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_2 | TIM_DCR_DBL_1) 1109 #define LL_TIM_DMABURST_LENGTH_16TRANSFERS (TIM_DCR_DBL_3 | TIM_DCR_DBL_2 | TIM_DCR_DBL_1 | TIM_DCR_DBL_0) 1110 #define LL_TIM_DMABURST_LENGTH_17TRANSFERS TIM_DCR_DBL_4 1111 #define LL_TIM_DMABURST_LENGTH_18TRANSFERS (TIM_DCR_DBL_4 | TIM_DCR_DBL_0) 1119 #define LL_TIM_TIM1_ETR_ADC1_RMP_NC TIM1_OR1_RMP_MASK 1120 #define LL_TIM_TIM1_ETR_ADC1_RMP_AWD1 (TIM1_OR1_ETR_ADC1_RMP_0 | TIM1_OR1_RMP_MASK) 1121 #define LL_TIM_TIM1_ETR_ADC1_RMP_AWD2 (TIM1_OR1_ETR_ADC1_RMP_1 | TIM1_OR1_RMP_MASK) 1122 #define LL_TIM_TIM1_ETR_ADC1_RMP_AWD3 (TIM1_OR1_ETR_ADC1_RMP | TIM1_OR1_RMP_MASK) 1131 #define LL_TIM_TIM1_ETR_ADC3_RMP_NC TIM1_OR1_RMP_MASK 1132 #define LL_TIM_TIM1_ETR_ADC3_RMP_AWD1 (TIM1_OR1_ETR_ADC3_RMP_0 | TIM1_OR1_RMP_MASK) 1133 #define LL_TIM_TIM1_ETR_ADC3_RMP_AWD2 (TIM1_OR1_ETR_ADC3_RMP_1 | TIM1_OR1_RMP_MASK) 1134 #define LL_TIM_TIM1_ETR_ADC3_RMP_AWD3 (TIM1_OR1_ETR_ADC3_RMP | TIM1_OR1_RMP_MASK) 1143 #define LL_TIM_TIM1_TI1_RMP_GPIO TIM1_OR1_RMP_MASK 1144 #define LL_TIM_TIM1_TI1_RMP_COMP1 (TIM1_OR1_TI1_RMP | TIM1_OR1_RMP_MASK) 1152 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx) || defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx) 1153 #define LL_TIM_TIM2_ITR1_RMP_TIM8_TRGO TIM2_OR1_RMP_MASK 1154 #define LL_TIM_TIM2_ITR1_RMP_OTG_FS_SOF (TIM2_OR1_ITR1_RMP | TIM2_OR1_RMP_MASK) 1158 #if defined (STM32L412xx) || defined (STM32L422xx) ||defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx) 1159 #define LL_TIM_TIM2_ITR1_RMP_NONE 0x00000000U 1160 #define LL_TIM_TIM2_ITR1_RMP_USB_SOF TIM2_OR1_ITR1_RMP 1163 #define LL_TIM_TIM2_ETR_RMP_GPIO TIM2_OR1_RMP_MASK 1164 #define LL_TIM_TIM2_ETR_RMP_LSE (TIM2_OR1_ETR1_RMP | TIM2_OR1_RMP_MASK) 1172 #define LL_TIM_TIM2_TI4_RMP_GPIO TIM2_OR1_RMP_MASK 1173 #define LL_TIM_TIM2_TI4_RMP_COMP1 (TIM2_OR1_TI4_RMP_0 | TIM2_OR1_RMP_MASK) 1174 #if defined (STM32L412xx) || defined (STM32L422xx) 1176 #define LL_TIM_TIM2_TI4_RMP_COMP2 (TIM2_OR1_TI4_RMP_1 | TIM2_OR1_RMP_MASK) 1177 #define LL_TIM_TIM2_TI4_RMP_COMP1_COMP2 (TIM2_OR1_TI4_RMP | TIM2_OR1_RMP_MASK) 1187 #define LL_TIM_TIM3_TI1_RMP_GPIO TIM3_OR1_RMP_MASK 1188 #define LL_TIM_TIM3_TI1_RMP_COMP1 (TIM3_OR1_TI1_RMP_0 | TIM3_OR1_RMP_MASK) 1189 #define LL_TIM_TIM3_TI1_RMP_COMP2 (TIM3_OR1_TI1_RMP_1 | TIM3_OR1_RMP_MASK) 1190 #define LL_TIM_TIM3_TI1_RMP_COMP1_COMP2 (TIM3_OR1_TI1_RMP | TIM3_OR1_RMP_MASK) 1200 #define LL_TIM_TIM8_ETR_ADC2_RMP_NC TIM8_OR1_RMP_MASK 1201 #define LL_TIM_TIM8_ETR_ADC2_RMP_AWD1 (TIM8_OR1_ETR_ADC2_RMP_0 | TIM8_OR1_RMP_MASK) 1202 #define LL_TIM_TIM8_ETR_ADC2_RMP_AWD2 (TIM8_OR1_ETR_ADC2_RMP_1 | TIM8_OR1_RMP_MASK) 1203 #define LL_TIM_TIM8_ETR_ADC2_RMP_AWD3 (TIM8_OR1_ETR_ADC2_RMP | TIM8_OR1_RMP_MASK) 1211 #define LL_TIM_TIM8_ETR_ADC3_RMP_NC TIM8_OR1_RMP_MASK 1212 #define LL_TIM_TIM8_ETR_ADC3_RMP_AWD1 (TIM8_OR1_ETR_ADC3_RMP_0 | TIM8_OR1_RMP_MASK) 1213 #define LL_TIM_TIM8_ETR_ADC3_RMP_AWD2 (TIM8_OR1_ETR_ADC3_RMP_1 | TIM8_OR1_RMP_MASK) 1214 #define LL_TIM_TIM8_ETR_ADC3_RMP_AWD3 (TIM8_OR1_ETR_ADC3_RMP | TIM8_OR1_RMP_MASK) 1222 #define LL_TIM_TIM8_TI1_RMP_GPIO TIM8_OR1_RMP_MASK 1223 #define LL_TIM_TIM8_TI1_RMP_COMP2 (TIM8_OR1_TI1_RMP | TIM8_OR1_RMP_MASK) 1232 #define LL_TIM_TIM15_TI1_RMP_GPIO TIM15_OR1_RMP_MASK 1233 #define LL_TIM_TIM15_TI1_RMP_LSE (TIM15_OR1_TI1_RMP | TIM15_OR1_RMP_MASK) 1241 #define LL_TIM_TIM15_ENCODERMODE_NOREDIRECTION TIM15_OR1_RMP_MASK 1242 #define LL_TIM_TIM15_ENCODERMODE_TIM2 (TIM15_OR1_ENCODER_MODE_0 | TIM15_OR1_RMP_MASK) 1243 #define LL_TIM_TIM15_ENCODERMODE_TIM3 (TIM15_OR1_ENCODER_MODE_1 | TIM15_OR1_RMP_MASK) 1244 #define LL_TIM_TIM15_ENCODERMODE_TIM4 (TIM15_OR1_ENCODER_MODE | TIM15_OR1_RMP_MASK) 1252 #define LL_TIM_TIM16_TI1_RMP_GPIO TIM16_OR1_RMP_MASK 1253 #define LL_TIM_TIM16_TI1_RMP_LSI (TIM16_OR1_TI1_RMP_0 | TIM16_OR1_RMP_MASK) 1254 #define LL_TIM_TIM16_TI1_RMP_LSE (TIM16_OR1_TI1_RMP_1 | TIM16_OR1_RMP_MASK) 1255 #define LL_TIM_TIM16_TI1_RMP_RTC (TIM16_OR1_TI1_RMP_1 | TIM16_OR1_TI1_RMP_0 | TIM16_OR1_RMP_MASK) 1256 #if defined TIM16_OR1_TI1_RMP_2 1257 #define LL_TIM_TIM16_TI1_RMP_MSI (TIM16_OR1_TI1_RMP_2 | TIM16_OR1_RMP_MASK) 1258 #define LL_TIM_TIM16_TI1_RMP_HSE_32 (TIM16_OR1_TI1_RMP_2 | TIM16_OR1_TI1_RMP_0 | TIM16_OR1_RMP_MASK) 1259 #define LL_TIM_TIM16_TI1_RMP_MCO (TIM16_OR1_TI1_RMP_2 | TIM16_OR1_TI1_RMP_1 | TIM16_OR1_RMP_MASK) 1269 #define LL_TIM_TIM17_TI1_RMP_GPIO TIM17_OR1_RMP_MASK 1270 #define LL_TIM_TIM17_TI1_RMP_MSI (TIM17_OR1_TI1_RMP_0 | TIM17_OR1_RMP_MASK) 1271 #define LL_TIM_TIM17_TI1_RMP_HSE_32 (TIM17_OR1_TI1_RMP_1 | TIM17_OR1_RMP_MASK) 1272 #define LL_TIM_TIM17_TI1_RMP_MCO (TIM17_OR1_TI1_RMP | TIM17_OR1_RMP_MASK) 1281 #define LL_TIM_OCREF_CLR_INT_NC 0x00000000U 1282 #define LL_TIM_OCREF_CLR_INT_ETR TIM_SMCR_OCCS 1290 #define LL_TIM_BKIN_SOURCE_DFBK LL_TIM_BKIN_SOURCE_DF1BK 1313 #define LL_TIM_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__)) 1321 #define LL_TIM_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__) 1338 #define __LL_TIM_GETFLAG_UIFCPY(__CNT__) \ 1339 (READ_BIT((__CNT__), TIM_CNT_UIFCPY) >> TIM_CNT_UIFCPY_Pos) 1352 #define __LL_TIM_CALC_DEADTIME(__TIMCLK__, __CKD__, __DT__) \ 1353 ( (((uint64_t)((__DT__)*1000U)) < ((DT_DELAY_1+1U) * TIM_CALC_DTS((__TIMCLK__), (__CKD__)))) ? (uint8_t)(((uint64_t)((__DT__)*1000U) / TIM_CALC_DTS((__TIMCLK__), (__CKD__))) & DT_DELAY_1) : \ 1354 (((uint64_t)((__DT__)*1000U)) < ((64U + (DT_DELAY_2+1U)) * 2U * TIM_CALC_DTS((__TIMCLK__), (__CKD__)))) ? (uint8_t)(DT_RANGE_2 | ((uint8_t)((uint8_t)((((uint64_t)((__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__), (__CKD__))) >> 1U) - (uint8_t) 64) & DT_DELAY_2)) :\ 1355 (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_3+1U)) * 8U * TIM_CALC_DTS((__TIMCLK__), (__CKD__)))) ? (uint8_t)(DT_RANGE_3 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__), (__CKD__))) >> 3U) - (uint8_t) 32) & DT_DELAY_3)) :\ 1356 (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_4+1U)) * 16U * TIM_CALC_DTS((__TIMCLK__), (__CKD__)))) ? (uint8_t)(DT_RANGE_4 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__), (__CKD__))) >> 4U) - (uint8_t) 32) & DT_DELAY_4)) :\ 1366 #define __LL_TIM_CALC_PSC(__TIMCLK__, __CNTCLK__) \ 1367 (((__TIMCLK__) >= (__CNTCLK__)) ? (uint32_t)(((__TIMCLK__)/(__CNTCLK__)) - 1U) : 0U) 1377 #define __LL_TIM_CALC_ARR(__TIMCLK__, __PSC__, __FREQ__) \ 1378 ((((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? (((__TIMCLK__)/((__FREQ__) * ((__PSC__) + 1U))) - 1U) : 0U) 1388 #define __LL_TIM_CALC_DELAY(__TIMCLK__, __PSC__, __DELAY__) \ 1389 ((uint32_t)(((uint64_t)(__TIMCLK__) * (uint64_t)(__DELAY__)) \ 1390 / ((uint64_t)1000000U * (uint64_t)((__PSC__) + 1U)))) 1401 #define __LL_TIM_CALC_PULSE(__TIMCLK__, __PSC__, __DELAY__, __PULSE__) \ 1402 ((uint32_t)(__LL_TIM_CALC_DELAY((__TIMCLK__), (__PSC__), (__PULSE__)) \ 1403 + __LL_TIM_CALC_DELAY((__TIMCLK__), (__PSC__), (__DELAY__)))) 1415 #define __LL_TIM_GET_ICPSC_RATIO(__ICPSC__) \ 1416 ((uint32_t)(0x01U << (((__ICPSC__) >> 16U) >> TIM_CCMR1_IC1PSC_Pos))) 1444 SET_BIT(TIMx->CR1, TIM_CR1_CEN);
1466 return ((READ_BIT(TIMx->CR1, TIM_CR1_CEN) == (TIM_CR1_CEN)) ? 1UL : 0UL);
1488 SET_BIT(TIMx->CR1, TIM_CR1_UDIS);
1499 return ((READ_BIT(TIMx->CR1, TIM_CR1_UDIS) == (uint32_t)RESET) ? 1UL : 0UL);
1520 MODIFY_REG(TIMx->CR1, TIM_CR1_URS, UpdateSource);
1533 return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_URS));
1547 MODIFY_REG(TIMx->CR1, TIM_CR1_OPM, OnePulseMode);
1560 return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_OPM));
1584 MODIFY_REG(TIMx->CR1, (TIM_CR1_DIR | TIM_CR1_CMS), CounterMode);
1604 return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_DIR | TIM_CR1_CMS));
1615 SET_BIT(TIMx->CR1, TIM_CR1_ARPE);
1637 return ((READ_BIT(TIMx->CR1, TIM_CR1_ARPE) == (TIM_CR1_ARPE)) ? 1UL : 0UL);
1655 MODIFY_REG(TIMx->CR1, TIM_CR1_CKD, ClockDivision);
1672 return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_CKD));
1686 WRITE_REG(TIMx->CNT, Counter);
1699 return (uint32_t)(READ_REG(TIMx->CNT));
1712 return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_DIR));
1728 WRITE_REG(TIMx->PSC, Prescaler);
1739 return (uint32_t)(READ_REG(TIMx->PSC));
1755 WRITE_REG(TIMx->ARR, AutoReload);
1768 return (uint32_t)(READ_REG(TIMx->ARR));
1783 WRITE_REG(TIMx->RCR, RepetitionCounter);
1796 return (uint32_t)(READ_REG(TIMx->RCR));
1808 SET_BIT(TIMx->CR1, TIM_CR1_UIFREMAP);
1842 SET_BIT(TIMx->CR2, TIM_CR2_CCPC);
1871 MODIFY_REG(TIMx->CR2, TIM_CR2_CCUS, CCUpdateSource);
1885 MODIFY_REG(TIMx->CR2, TIM_CR2_CCDS, DMAReqTrigger);
1898 return (uint32_t)(READ_BIT(TIMx->CR2, TIM_CR2_CCDS));
1917 MODIFY_REG(TIMx->BDTR, TIM_BDTR_LOCK, LockLevel);
1946 SET_BIT(TIMx->CCER, Channels);
2004 return ((READ_BIT(TIMx->CCER, Channels) == (Channels)) ? 1UL : 0UL);
2049 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2050 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2051 CLEAR_BIT(*pReg, (TIM_CCMR1_CC1S << SHIFT_TAB_OCxx[iChannel]));
2052 MODIFY_REG(TIMx->CCER, (TIM_CCER_CC1P << SHIFT_TAB_CCxP[iChannel]),
2053 (Configuration & TIM_CCER_CC1P) << SHIFT_TAB_CCxP[iChannel]);
2054 MODIFY_REG(TIMx->CR2, (TIM_CR2_OIS1 << SHIFT_TAB_OISx[iChannel]),
2055 (Configuration & TIM_CR2_OIS1) << SHIFT_TAB_OISx[iChannel]);
2094 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2095 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2096 MODIFY_REG(*pReg, ((TIM_CCMR1_OC1M | TIM_CCMR1_CC1S) << SHIFT_TAB_OCxx[iChannel]), Mode << SHIFT_TAB_OCxx[iChannel]);
2133 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2134 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2135 return (READ_BIT(*pReg, ((TIM_CCMR1_OC1M | TIM_CCMR1_CC1S) << SHIFT_TAB_OCxx[iChannel])) >> SHIFT_TAB_OCxx[iChannel]);
2167 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2168 MODIFY_REG(TIMx->CCER, (TIM_CCER_CC1P << SHIFT_TAB_CCxP[iChannel]), Polarity << SHIFT_TAB_CCxP[iChannel]);
2199 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2200 return (READ_BIT(TIMx->CCER, (TIM_CCER_CC1P << SHIFT_TAB_CCxP[iChannel])) >> SHIFT_TAB_CCxP[iChannel]);
2236 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2237 MODIFY_REG(TIMx->CR2, (TIM_CR2_OIS1 << SHIFT_TAB_OISx[iChannel]), IdleState << SHIFT_TAB_OISx[iChannel]);
2268 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2269 return (READ_BIT(TIMx->CR2, (TIM_CR2_OIS1 << SHIFT_TAB_OISx[iChannel])) >> SHIFT_TAB_OISx[iChannel]);
2293 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2294 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2295 SET_BIT(*pReg, (TIM_CCMR1_OC1FE << SHIFT_TAB_OCxx[iChannel]));
2319 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2320 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2321 CLEAR_BIT(*pReg, (TIM_CCMR1_OC1FE << SHIFT_TAB_OCxx[iChannel]));
2345 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2346 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2347 register uint32_t bitfield = TIM_CCMR1_OC1FE << SHIFT_TAB_OCxx[iChannel];
2348 return ((READ_BIT(*pReg, bitfield) == bitfield) ? 1UL : 0UL);
2371 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2372 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2373 SET_BIT(*pReg, (TIM_CCMR1_OC1PE << SHIFT_TAB_OCxx[iChannel]));
2396 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2397 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2398 CLEAR_BIT(*pReg, (TIM_CCMR1_OC1PE << SHIFT_TAB_OCxx[iChannel]));
2421 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2422 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2423 register uint32_t bitfield = TIM_CCMR1_OC1PE << SHIFT_TAB_OCxx[iChannel];
2424 return ((READ_BIT(*pReg, bitfield) == bitfield) ? 1UL : 0UL);
2450 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2451 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2452 SET_BIT(*pReg, (TIM_CCMR1_OC1CE << SHIFT_TAB_OCxx[iChannel]));
2477 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2478 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2479 CLEAR_BIT(*pReg, (TIM_CCMR1_OC1CE << SHIFT_TAB_OCxx[iChannel]));
2506 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2507 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2508 register uint32_t bitfield = TIM_CCMR1_OC1CE << SHIFT_TAB_OCxx[iChannel];
2509 return ((READ_BIT(*pReg, bitfield) == bitfield) ? 1UL : 0UL);
2524 MODIFY_REG(TIMx->BDTR, TIM_BDTR_DTG, DeadTime);
2541 WRITE_REG(TIMx->CCR1, CompareValue);
2558 WRITE_REG(TIMx->CCR2, CompareValue);
2575 WRITE_REG(TIMx->CCR3, CompareValue);
2592 WRITE_REG(TIMx->CCR4, CompareValue);
2606 MODIFY_REG(TIMx->CCR5, TIM_CCR5_CCR5, CompareValue);
2620 WRITE_REG(TIMx->CCR6, CompareValue);
2636 return (uint32_t)(READ_REG(TIMx->CCR1));
2652 return (uint32_t)(READ_REG(TIMx->CCR2));
2668 return (uint32_t)(READ_REG(TIMx->CCR3));
2684 return (uint32_t)(READ_REG(TIMx->CCR4));
2697 return (uint32_t)(READ_BIT(TIMx->CCR5, TIM_CCR5_CCR5));
2710 return (uint32_t)(READ_REG(TIMx->CCR6));
2730 MODIFY_REG(TIMx->CCR5, (TIM_CCR5_GC5C3 | TIM_CCR5_GC5C2 | TIM_CCR5_GC5C1), GroupCH5);
2775 __STATIC_INLINE
void LL_TIM_IC_Config(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Configuration)
2777 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2778 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2779 MODIFY_REG(*pReg, ((TIM_CCMR1_IC1F | TIM_CCMR1_IC1PSC | TIM_CCMR1_CC1S) << SHIFT_TAB_ICxx[iChannel]),
2780 ((Configuration >> 16U) & (TIM_CCMR1_IC1F | TIM_CCMR1_IC1PSC | TIM_CCMR1_CC1S)) << SHIFT_TAB_ICxx[iChannel]);
2781 MODIFY_REG(TIMx->CCER, ((TIM_CCER_CC1NP | TIM_CCER_CC1P) << SHIFT_TAB_CCxP[iChannel]),
2782 (Configuration & (TIM_CCER_CC1NP | TIM_CCER_CC1P)) << SHIFT_TAB_CCxP[iChannel]);
2805 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2806 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2807 MODIFY_REG(*pReg, ((TIM_CCMR1_CC1S) << SHIFT_TAB_ICxx[iChannel]), (ICActiveInput >> 16U) << SHIFT_TAB_ICxx[iChannel]);
2829 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2830 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2831 return ((READ_BIT(*pReg, ((TIM_CCMR1_CC1S) << SHIFT_TAB_ICxx[iChannel])) >> SHIFT_TAB_ICxx[iChannel]) << 16U);
2855 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2856 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2857 MODIFY_REG(*pReg, ((TIM_CCMR1_IC1PSC) << SHIFT_TAB_ICxx[iChannel]), (ICPrescaler >> 16U) << SHIFT_TAB_ICxx[iChannel]);
2880 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2881 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2882 return ((READ_BIT(*pReg, ((TIM_CCMR1_IC1PSC) << SHIFT_TAB_ICxx[iChannel])) >> SHIFT_TAB_ICxx[iChannel]) << 16U);
2918 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2919 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2920 MODIFY_REG(*pReg, ((TIM_CCMR1_IC1F) << SHIFT_TAB_ICxx[iChannel]), (ICFilter >> 16U) << SHIFT_TAB_ICxx[iChannel]);
2955 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2956 register const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iChannel]));
2957 return ((READ_BIT(*pReg, ((TIM_CCMR1_IC1F) << SHIFT_TAB_ICxx[iChannel])) >> SHIFT_TAB_ICxx[iChannel]) << 16U);
2984 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
2985 MODIFY_REG(TIMx->CCER, ((TIM_CCER_CC1NP | TIM_CCER_CC1P) << SHIFT_TAB_CCxP[iChannel]),
2986 ICPolarity << SHIFT_TAB_CCxP[iChannel]);
3012 register uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel);
3013 return (READ_BIT(TIMx->CCER, ((TIM_CCER_CC1NP | TIM_CCER_CC1P) << SHIFT_TAB_CCxP[iChannel])) >>
3014 SHIFT_TAB_CCxP[iChannel]);
3027 SET_BIT(TIMx->CR2, TIM_CR2_TI1S);
3053 return ((READ_BIT(TIMx->CR2, TIM_CR2_TI1S) == (TIM_CR2_TI1S)) ? 1UL : 0UL);
3069 return (uint32_t)(READ_REG(TIMx->CCR1));
3085 return (uint32_t)(READ_REG(TIMx->CCR2));
3101 return (uint32_t)(READ_REG(TIMx->CCR3));
3117 return (uint32_t)(READ_REG(TIMx->CCR4));
3138 SET_BIT(TIMx->SMCR, TIM_SMCR_ECE);
3164 return ((READ_BIT(TIMx->SMCR, TIM_SMCR_ECE) == (TIM_SMCR_ECE)) ? 1UL : 0UL);
3188 MODIFY_REG(TIMx->SMCR, TIM_SMCR_SMS | TIM_SMCR_ECE, ClockSource);
3205 MODIFY_REG(TIMx->SMCR, TIM_SMCR_SMS, EncoderMode);
3234 MODIFY_REG(TIMx->CR2, TIM_CR2_MMS, TimerSynchronization);
3264 MODIFY_REG(TIMx->CR2, TIM_CR2_MMS2, ADCSynchronization);
3283 MODIFY_REG(TIMx->SMCR, TIM_SMCR_SMS, SlaveMode);
3305 MODIFY_REG(TIMx->SMCR, TIM_SMCR_TS, TriggerInput);
3318 SET_BIT(TIMx->SMCR, TIM_SMCR_MSM);
3344 return ((READ_BIT(TIMx->SMCR, TIM_SMCR_MSM) == (TIM_SMCR_MSM)) ? 1UL : 0UL);
3382 __STATIC_INLINE
void LL_TIM_ConfigETR(TIM_TypeDef *TIMx, uint32_t ETRPolarity, uint32_t ETRPrescaler,
3385 MODIFY_REG(TIMx->SMCR, TIM_SMCR_ETP | TIM_SMCR_ETPS | TIM_SMCR_ETF, ETRPolarity | ETRPrescaler | ETRFilter);
3403 MODIFY_REG(TIMx->OR2, TIMx_OR2_ETRSEL, ETRSource);
3423 SET_BIT(TIMx->BDTR, TIM_BDTR_BKE);
3469 uint32_t BreakFilter)
3471 MODIFY_REG(TIMx->BDTR, TIM_BDTR_BKP | TIM_BDTR_BKF, BreakPolarity | BreakFilter);
3484 SET_BIT(TIMx->BDTR, TIM_BDTR_BK2E);
3529 __STATIC_INLINE
void LL_TIM_ConfigBRK2(TIM_TypeDef *TIMx, uint32_t Break2Polarity, uint32_t Break2Filter)
3531 MODIFY_REG(TIMx->BDTR, TIM_BDTR_BK2P | TIM_BDTR_BK2F, Break2Polarity | Break2Filter);
3551 MODIFY_REG(TIMx->BDTR, TIM_BDTR_OSSI | TIM_BDTR_OSSR, OffStateIdle | OffStateRun);
3564 SET_BIT(TIMx->BDTR, TIM_BDTR_AOE);
3590 return ((READ_BIT(TIMx->BDTR, TIM_BDTR_AOE) == (TIM_BDTR_AOE)) ? 1UL : 0UL);
3605 SET_BIT(TIMx->BDTR, TIM_BDTR_MOE);
3633 return ((READ_BIT(TIMx->BDTR, TIM_BDTR_MOE) == (TIM_BDTR_MOE)) ? 1UL : 0UL);
3661 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->OR2) + BreakInput));
3662 SET_BIT(*pReg, Source);
3690 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->OR2) + BreakInput));
3720 register __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->OR2) + BreakInput));
3721 MODIFY_REG(*pReg, (TIMx_OR2_BKINP << TIM_POSITION_BRK_SOURCE), (Polarity << TIM_POSITION_BRK_SOURCE));
3785 MODIFY_REG(TIMx->DCR, (TIM_DCR_DBL | TIM_DCR_DBA), (DMABurstBaseAddress | DMABurstLength));
3977 MODIFY_REG(TIMx->OR1, (Remap >> TIMx_OR1_RMP_SHIFT), (Remap & TIMx_OR1_RMP_MASK));
4000 MODIFY_REG(TIMx->SMCR, TIM_SMCR_OCCS, OCRefClearInputSource);
4017 WRITE_REG(TIMx->SR, ~(TIM_SR_UIF));
4028 return ((READ_BIT(TIMx->SR, TIM_SR_UIF) == (TIM_SR_UIF)) ? 1UL : 0UL);
4039 WRITE_REG(TIMx->SR, ~(TIM_SR_CC1IF));
4050 return ((READ_BIT(TIMx->SR, TIM_SR_CC1IF) == (TIM_SR_CC1IF)) ? 1UL : 0UL);
4061 WRITE_REG(TIMx->SR, ~(TIM_SR_CC2IF));
4072 return ((READ_BIT(TIMx->SR, TIM_SR_CC2IF) == (TIM_SR_CC2IF)) ? 1UL : 0UL);
4083 WRITE_REG(TIMx->SR, ~(TIM_SR_CC3IF));
4094 return ((READ_BIT(TIMx->SR, TIM_SR_CC3IF) == (TIM_SR_CC3IF)) ? 1UL : 0UL);
4105 WRITE_REG(TIMx->SR, ~(TIM_SR_CC4IF));
4116 return ((READ_BIT(TIMx->SR, TIM_SR_CC4IF) == (TIM_SR_CC4IF)) ? 1UL : 0UL);
4127 WRITE_REG(TIMx->SR, ~(TIM_SR_CC5IF));
4138 return ((READ_BIT(TIMx->SR, TIM_SR_CC5IF) == (TIM_SR_CC5IF)) ? 1UL : 0UL);
4149 WRITE_REG(TIMx->SR, ~(TIM_SR_CC6IF));
4160 return ((READ_BIT(TIMx->SR, TIM_SR_CC6IF) == (TIM_SR_CC6IF)) ? 1UL : 0UL);
4171 WRITE_REG(TIMx->SR, ~(TIM_SR_COMIF));
4182 return ((READ_BIT(TIMx->SR, TIM_SR_COMIF) == (TIM_SR_COMIF)) ? 1UL : 0UL);
4193 WRITE_REG(TIMx->SR, ~(TIM_SR_TIF));
4204 return ((READ_BIT(TIMx->SR, TIM_SR_TIF) == (TIM_SR_TIF)) ? 1UL : 0UL);
4215 WRITE_REG(TIMx->SR, ~(TIM_SR_BIF));
4226 return ((READ_BIT(TIMx->SR, TIM_SR_BIF) == (TIM_SR_BIF)) ? 1UL : 0UL);
4237 WRITE_REG(TIMx->SR, ~(TIM_SR_B2IF));
4248 return ((READ_BIT(TIMx->SR, TIM_SR_B2IF) == (TIM_SR_B2IF)) ? 1UL : 0UL);
4259 WRITE_REG(TIMx->SR, ~(TIM_SR_CC1OF));
4270 return ((READ_BIT(TIMx->SR, TIM_SR_CC1OF) == (TIM_SR_CC1OF)) ? 1UL : 0UL);
4281 WRITE_REG(TIMx->SR, ~(TIM_SR_CC2OF));
4292 return ((READ_BIT(TIMx->SR, TIM_SR_CC2OF) == (TIM_SR_CC2OF)) ? 1UL : 0UL);
4303 WRITE_REG(TIMx->SR, ~(TIM_SR_CC3OF));
4314 return ((READ_BIT(TIMx->SR, TIM_SR_CC3OF) == (TIM_SR_CC3OF)) ? 1UL : 0UL);
4325 WRITE_REG(TIMx->SR, ~(TIM_SR_CC4OF));
4336 return ((READ_BIT(TIMx->SR, TIM_SR_CC4OF) == (TIM_SR_CC4OF)) ? 1UL : 0UL);
4347 WRITE_REG(TIMx->SR, ~(TIM_SR_SBIF));
4358 return ((READ_BIT(TIMx->SR, TIM_SR_SBIF) == (TIM_SR_SBIF)) ? 1UL : 0UL);
4376 SET_BIT(TIMx->DIER, TIM_DIER_UIE);
4398 return ((READ_BIT(TIMx->DIER, TIM_DIER_UIE) == (TIM_DIER_UIE)) ? 1UL : 0UL);
4409 SET_BIT(TIMx->DIER, TIM_DIER_CC1IE);
4431 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC1IE) == (TIM_DIER_CC1IE)) ? 1UL : 0UL);
4442 SET_BIT(TIMx->DIER, TIM_DIER_CC2IE);
4464 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC2IE) == (TIM_DIER_CC2IE)) ? 1UL : 0UL);
4475 SET_BIT(TIMx->DIER, TIM_DIER_CC3IE);
4497 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC3IE) == (TIM_DIER_CC3IE)) ? 1UL : 0UL);
4508 SET_BIT(TIMx->DIER, TIM_DIER_CC4IE);
4530 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC4IE) == (TIM_DIER_CC4IE)) ? 1UL : 0UL);
4541 SET_BIT(TIMx->DIER, TIM_DIER_COMIE);
4563 return ((READ_BIT(TIMx->DIER, TIM_DIER_COMIE) == (TIM_DIER_COMIE)) ? 1UL : 0UL);
4574 SET_BIT(TIMx->DIER, TIM_DIER_TIE);
4596 return ((READ_BIT(TIMx->DIER, TIM_DIER_TIE) == (TIM_DIER_TIE)) ? 1UL : 0UL);
4607 SET_BIT(TIMx->DIER, TIM_DIER_BIE);
4629 return ((READ_BIT(TIMx->DIER, TIM_DIER_BIE) == (TIM_DIER_BIE)) ? 1UL : 0UL);
4647 SET_BIT(TIMx->DIER, TIM_DIER_UDE);
4669 return ((READ_BIT(TIMx->DIER, TIM_DIER_UDE) == (TIM_DIER_UDE)) ? 1UL : 0UL);
4680 SET_BIT(TIMx->DIER, TIM_DIER_CC1DE);
4702 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC1DE) == (TIM_DIER_CC1DE)) ? 1UL : 0UL);
4713 SET_BIT(TIMx->DIER, TIM_DIER_CC2DE);
4735 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC2DE) == (TIM_DIER_CC2DE)) ? 1UL : 0UL);
4746 SET_BIT(TIMx->DIER, TIM_DIER_CC3DE);
4768 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC3DE) == (TIM_DIER_CC3DE)) ? 1UL : 0UL);
4779 SET_BIT(TIMx->DIER, TIM_DIER_CC4DE);
4801 return ((READ_BIT(TIMx->DIER, TIM_DIER_CC4DE) == (TIM_DIER_CC4DE)) ? 1UL : 0UL);
4812 SET_BIT(TIMx->DIER, TIM_DIER_COMDE);
4834 return ((READ_BIT(TIMx->DIER, TIM_DIER_COMDE) == (TIM_DIER_COMDE)) ? 1UL : 0UL);
4845 SET_BIT(TIMx->DIER, TIM_DIER_TDE);
4867 return ((READ_BIT(TIMx->DIER, TIM_DIER_TDE) == (TIM_DIER_TDE)) ? 1UL : 0UL);
4885 SET_BIT(TIMx->EGR, TIM_EGR_UG);
4896 SET_BIT(TIMx->EGR, TIM_EGR_CC1G);
4907 SET_BIT(TIMx->EGR, TIM_EGR_CC2G);
4918 SET_BIT(TIMx->EGR, TIM_EGR_CC3G);
4929 SET_BIT(TIMx->EGR, TIM_EGR_CC4G);
4940 SET_BIT(TIMx->EGR, TIM_EGR_COMG);
4951 SET_BIT(TIMx->EGR, TIM_EGR_TG);
4962 SET_BIT(TIMx->EGR, TIM_EGR_BG);
4973 SET_BIT(TIMx->EGR, TIM_EGR_B2G);
4980 #if defined(USE_FULL_LL_DRIVER) __STATIC_INLINE void LL_TIM_SetCounterMode(TIM_TypeDef *TIMx, uint32_t CounterMode)
Set the timer counter counting mode.
__STATIC_INLINE void LL_TIM_EnableAllOutputs(TIM_TypeDef *TIMx)
Enable the outputs (set the MOE bit in TIMx_BDTR register).
__STATIC_INLINE void LL_TIM_SetBreakInputSourcePolarity(TIM_TypeDef *TIMx, uint32_t BreakInput, uint32_t Source, uint32_t Polarity)
Set the polarity of the break signal for the timer break input.
__STATIC_INLINE void LL_TIM_DisableAutomaticOutput(TIM_TypeDef *TIMx)
Disable automatic output (MOE can be set only by software).
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC3(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 3 interrupt flag (CC3F) is set (Capture/Compare 3 interrupt is pendi...
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC3OVR(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 3 over-capture interrupt flag (CC3OF) is set (Capture/Compare 3 over...
__STATIC_INLINE void LL_TIM_EnableDMAReq_CC4(TIM_TypeDef *TIMx)
Enable capture/compare 4 DMA request (CC4DE). DIER CC4DE LL_TIM_EnableDMAReq_CC4.
__STATIC_INLINE void LL_TIM_CC_DisableChannel(TIM_TypeDef *TIMx, uint32_t Channels)
Disable capture/compare channels. CCER CC1E LL_TIM_CC_DisableChannel CCER CC1NE LL_TIM_CC_DisableCh...
__STATIC_INLINE void LL_TIM_ClearFlag_CC1OVR(TIM_TypeDef *TIMx)
Clear the Capture/Compare 1 over-capture interrupt flag (CC1OF). SR CC1OF LL_TIM_ClearFlag_CC1OVR.
__STATIC_INLINE uint32_t LL_TIM_OC_GetPolarity(TIM_TypeDef *TIMx, uint32_t Channel)
Get the polarity of an output channel. CCER CC1P LL_TIM_OC_GetPolarity CCER CC1NP LL_TIM_OC_GetPola...
__STATIC_INLINE void LL_TIM_DisableDMAReq_CC2(TIM_TypeDef *TIMx)
Disable capture/compare 2 DMA request (CC2DE). DIER CC2DE LL_TIM_DisableDMAReq_CC2.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_CC4(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 4 DMA request (CC4DE) is enabled. DIER CC4DE LL_TIM_IsEnabledD...
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_BRK(TIM_TypeDef *TIMx)
Indicates whether the break interrupt (BIE) is enabled. DIER BIE LL_TIM_IsEnabledIT_BRK.
__STATIC_INLINE void LL_TIM_GenerateEvent_CC2(TIM_TypeDef *TIMx)
Generate Capture/Compare 2 event. EGR CC2G LL_TIM_GenerateEvent_CC2.
__STATIC_INLINE void LL_TIM_OC_SetMode(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Mode)
Define the behavior of the output reference signal OCxREF from which OCx and OCxN (when relevant) are...
__STATIC_INLINE void LL_TIM_EnableDMAReq_CC2(TIM_TypeDef *TIMx)
Enable capture/compare 2 DMA request (CC2DE). DIER CC2DE LL_TIM_EnableDMAReq_CC2.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_UPDATE(TIM_TypeDef *TIMx)
Indicates whether the update interrupt (UIE) is enabled. DIER UIE LL_TIM_IsEnabledIT_UPDATE.
__STATIC_INLINE uint32_t LL_TIM_OC_GetMode(TIM_TypeDef *TIMx, uint32_t Channel)
Get the output compare mode of an output channel. CCMR1 OC1M LL_TIM_OC_GetMode CCMR1 OC2M LL_TIM_OC...
__STATIC_INLINE void LL_TIM_CC_EnablePreload(TIM_TypeDef *TIMx)
Enable the capture/compare control bits (CCxE, CCxNE and OCxM) preload.
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH3(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR3) set for output channel 3.
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH6(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR6) set for output channel 6.
__STATIC_INLINE void LL_TIM_DisableUpdateEvent(TIM_TypeDef *TIMx)
Disable update event generation. CR1 UDIS LL_TIM_DisableUpdateEvent.
__STATIC_INLINE void LL_TIM_OC_ConfigOutput(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Configuration)
Configure an output channel. CCMR1 CC1S LL_TIM_OC_ConfigOutput CCMR1 CC2S LL_TIM_OC_ConfigOutput C...
__STATIC_INLINE void LL_TIM_ClearFlag_SYSBRK(TIM_TypeDef *TIMx)
Clear the system break interrupt flag (SBIF). SR SBIF LL_TIM_ClearFlag_SYSBRK.
__STATIC_INLINE void LL_TIM_EnableUpdateEvent(TIM_TypeDef *TIMx)
Enable update event generation. CR1 UDIS LL_TIM_EnableUpdateEvent.
__STATIC_INLINE void LL_TIM_OC_SetPolarity(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Polarity)
Set the polarity of an output channel. CCER CC1P LL_TIM_OC_SetPolarity CCER CC1NP LL_TIM_OC_SetPola...
uint8_t RepetitionCounter
__STATIC_INLINE void LL_TIM_DisableDMAReq_UPDATE(TIM_TypeDef *TIMx)
Disable update DMA request (UDE). DIER UDE LL_TIM_DisableDMAReq_UPDATE.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC4(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 4 interrupt flag (CC4F) is set (Capture/Compare 4 interrupt is pendi...
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC6(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 6 interrupt flag (CC6F) is set (Capture/Compare 6 interrupt is pendi...
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_UPDATE(TIM_TypeDef *TIMx)
Indicate whether update interrupt flag (UIF) is set (update interrupt is pending). SR UIF LL_TIM_IsActiveFlag_UPDATE.
__STATIC_INLINE void LL_TIM_GenerateEvent_UPDATE(TIM_TypeDef *TIMx)
Generate an update event. EGR UG LL_TIM_GenerateEvent_UPDATE.
__STATIC_INLINE void LL_TIM_SetCounter(TIM_TypeDef *TIMx, uint32_t Counter)
Set the counter value.
ErrorStatus LL_TIM_ENCODER_Init(TIM_TypeDef *TIMx, LL_TIM_ENCODER_InitTypeDef *TIM_EncoderInitStruct)
Configure the encoder interface of the timer instance.
__STATIC_INLINE uint32_t LL_TIM_GetOnePulseMode(TIM_TypeDef *TIMx)
Get actual one pulse mode. CR1 OPM LL_TIM_GetOnePulseMode.
__STATIC_INLINE void LL_TIM_EnableIT_COM(TIM_TypeDef *TIMx)
Enable commutation interrupt (COMIE). DIER COMIE LL_TIM_EnableIT_COM.
__STATIC_INLINE uint32_t LL_TIM_OC_IsEnabledClear(TIM_TypeDef *TIMx, uint32_t Channel)
Indicates clearing the output channel on an external event is enabled for the output channel...
__STATIC_INLINE void LL_TIM_DisableIT_CC4(TIM_TypeDef *TIMx)
Disable capture/compare 4 interrupt (CC4IE). DIER CC4IE LL_TIM_DisableIT_CC4.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC1OVR(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 1 over-capture interrupt flag (CC1OF) is set (Capture/Compare 1 inte...
__STATIC_INLINE void LL_TIM_EnableARRPreload(TIM_TypeDef *TIMx)
Enable auto-reload (ARR) preload. CR1 ARPE LL_TIM_EnableARRPreload.
ErrorStatus LL_TIM_OC_Init(TIM_TypeDef *TIMx, uint32_t Channel, LL_TIM_OC_InitTypeDef *TIM_OC_InitStruct)
Configure the TIMx output channel.
__STATIC_INLINE void LL_TIM_DisableBRK(TIM_TypeDef *TIMx)
Disable the break function. BDTR BKE LL_TIM_DisableBRK.
__STATIC_INLINE void LL_TIM_GenerateEvent_BRK(TIM_TypeDef *TIMx)
Generate break event. EGR BG LL_TIM_GenerateEvent_BRK.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_TRIG(TIM_TypeDef *TIMx)
Indicates whether the trigger interrupt (TIE) is enabled. DIER TIE LL_TIM_IsEnabledIT_TRIG.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC5(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 5 interrupt flag (CC5F) is set (Capture/Compare 5 interrupt is pendi...
__STATIC_INLINE void LL_TIM_ClearFlag_CC3OVR(TIM_TypeDef *TIMx)
Clear the Capture/Compare 3 over-capture interrupt flag (CC3OF). SR CC3OF LL_TIM_ClearFlag_CC3OVR.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_CC2(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 2 interrupt (CC2IE) is enabled. DIER CC2IE LL_TIM_IsEnabledIT_...
__STATIC_INLINE void LL_TIM_DisableIT_TRIG(TIM_TypeDef *TIMx)
Disable trigger interrupt (TIE). DIER TIE LL_TIM_DisableIT_TRIG.
__STATIC_INLINE void LL_TIM_ConfigDMABurst(TIM_TypeDef *TIMx, uint32_t DMABurstBaseAddress, uint32_t DMABurstLength)
Configures the timer DMA burst feature.
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH5(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR5) set for output channel 5.
__STATIC_INLINE void LL_TIM_OC_EnablePreload(TIM_TypeDef *TIMx, uint32_t Channel)
Enable compare register (TIMx_CCRx) preload for the output channel. CCMR1 OC1PE LL_TIM_OC_EnablePrel...
static const uint8_t SHIFT_TAB_OISx[]
__STATIC_INLINE void LL_TIM_DisableDMAReq_CC3(TIM_TypeDef *TIMx)
Disable capture/compare 3 DMA request (CC3DE). DIER CC3DE LL_TIM_DisableDMAReq_CC3.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_CC1(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 1 DMA request (CC1DE) is enabled. DIER CC1DE LL_TIM_IsEnabledD...
__STATIC_INLINE void LL_TIM_DisableBreakInputSource(TIM_TypeDef *TIMx, uint32_t BreakInput, uint32_t Source)
Disable the signals connected to the designated timer break input.
__STATIC_INLINE void LL_TIM_DisableDMAReq_CC1(TIM_TypeDef *TIMx)
Disable capture/compare 1 DMA request (CC1DE). DIER CC1DE LL_TIM_DisableDMAReq_CC1.
__STATIC_INLINE void LL_TIM_OC_DisableFast(TIM_TypeDef *TIMx, uint32_t Channel)
Disable fast mode for the output channel. CCMR1 OC1FE LL_TIM_OC_DisableFast CCMR1 OC2FE LL_TIM_OC_D...
__STATIC_INLINE void LL_TIM_DisableIT_COM(TIM_TypeDef *TIMx)
Disable commutation interrupt (COMIE). DIER COMIE LL_TIM_DisableIT_COM.
__STATIC_INLINE void LL_TIM_CC_EnableChannel(TIM_TypeDef *TIMx, uint32_t Channels)
Enable capture/compare channels. CCER CC1E LL_TIM_CC_EnableChannel CCER CC1NE LL_TIM_CC_EnableChann...
__STATIC_INLINE void LL_TIM_CC_SetLockLevel(TIM_TypeDef *TIMx, uint32_t LockLevel)
Set the lock level to freeze the configuration of several capture/compare parameters.
__STATIC_INLINE void LL_TIM_OC_SetCompareCH3(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 3 (TIMx_CCR3).
__STATIC_INLINE void LL_TIM_EnableMasterSlaveMode(TIM_TypeDef *TIMx)
Enable the Master/Slave mode.
__STATIC_INLINE void LL_TIM_ClearFlag_CC5(TIM_TypeDef *TIMx)
Clear the Capture/Compare 5 interrupt flag (CC5F). SR CC5IF LL_TIM_ClearFlag_CC5.
__STATIC_INLINE uint32_t LL_TIM_CC_GetDMAReqTrigger(TIM_TypeDef *TIMx)
Get actual trigger of the capture/compare DMA request. CR2 CCDS LL_TIM_CC_GetDMAReqTrigger.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_TRIG(TIM_TypeDef *TIMx)
Indicates whether the trigger interrupt (TDE) is enabled. DIER TDE LL_TIM_IsEnabledDMAReq_TRIG.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_CC3(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 3 DMA request (CC3DE) is enabled. DIER CC3DE LL_TIM_IsEnabledD...
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_COM(TIM_TypeDef *TIMx)
Indicate whether commutation interrupt flag (COMIF) is set (commutation interrupt is pending)...
__STATIC_INLINE void LL_TIM_SetETRSource(TIM_TypeDef *TIMx, uint32_t ETRSource)
Select the external trigger (ETR) input source.
__STATIC_INLINE void LL_TIM_EnableIT_CC2(TIM_TypeDef *TIMx)
Enable capture/compare 2 interrupt (CC2IE). DIER CC2IE LL_TIM_EnableIT_CC2.
__STATIC_INLINE void LL_TIM_OC_EnableFast(TIM_TypeDef *TIMx, uint32_t Channel)
Enable fast mode for the output channel.
__STATIC_INLINE void LL_TIM_ClearFlag_CC2OVR(TIM_TypeDef *TIMx)
Clear the Capture/Compare 2 over-capture interrupt flag (CC2OF). SR CC2OF LL_TIM_ClearFlag_CC2OVR.
__STATIC_INLINE uint32_t LL_TIM_GetRepetitionCounter(TIM_TypeDef *TIMx)
Get the repetition counter value.
__STATIC_INLINE uint32_t LL_TIM_GetClockDivision(TIM_TypeDef *TIMx)
Get the actual division ratio between the timer clock and the sampling clock used by the dead-time ge...
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_CC2(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 2 DMA request (CC2DE) is enabled. DIER CC2DE LL_TIM_IsEnabledD...
__STATIC_INLINE uint32_t LL_TIM_IsEnabledUpdateEvent(TIM_TypeDef *TIMx)
Indicates whether update event generation is enabled. CR1 UDIS LL_TIM_IsEnabledUpdateEvent.
ErrorStatus LL_TIM_IC_Init(TIM_TypeDef *TIMx, uint32_t Channel, LL_TIM_IC_InitTypeDef *TIM_IC_InitStruct)
Configure the TIMx input channel.
__STATIC_INLINE void LL_TIM_DisableARRPreload(TIM_TypeDef *TIMx)
Disable auto-reload (ARR) preload. CR1 ARPE LL_TIM_DisableARRPreload.
__STATIC_INLINE void LL_TIM_EnableAutomaticOutput(TIM_TypeDef *TIMx)
Enable automatic output (MOE can be set by software or automatically when a break input is active)...
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH1(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR1) set for output channel 1.
__STATIC_INLINE void LL_TIM_DisableDMAReq_COM(TIM_TypeDef *TIMx)
Disable commutation DMA request (COMDE). DIER COMDE LL_TIM_DisableDMAReq_COM.
__STATIC_INLINE uint32_t LL_TIM_GetAutoReload(TIM_TypeDef *TIMx)
Get the auto-reload value. ARR ARR LL_TIM_GetAutoReload.
__STATIC_INLINE void LL_TIM_EnableBRK2(TIM_TypeDef *TIMx)
Enable the break 2 function.
BDTR (Break and Dead Time) structure definition.
__STATIC_INLINE uint32_t LL_TIM_OC_IsEnabledFast(TIM_TypeDef *TIMx, uint32_t Channel)
Indicates whether fast mode is enabled for the output channel. CCMR1 OC1FE LL_TIM_OC_IsEnabledFast ...
TIM Time Base configuration structure definition.
__STATIC_INLINE void LL_TIM_SetEncoderMode(TIM_TypeDef *TIMx, uint32_t EncoderMode)
Set the encoder interface mode.
__STATIC_INLINE void LL_TIM_CC_DisablePreload(TIM_TypeDef *TIMx)
Disable the capture/compare control bits (CCxE, CCxNE and OCxM) preload.
__STATIC_INLINE void LL_TIM_OC_DisableClear(TIM_TypeDef *TIMx, uint32_t Channel)
Disable clearing the output channel on an external event.
__STATIC_INLINE void LL_TIM_DisableDMAReq_TRIG(TIM_TypeDef *TIMx)
Disable trigger interrupt (TDE). DIER TDE LL_TIM_DisableDMAReq_TRIG.
__STATIC_INLINE void LL_TIM_DisableUIFRemap(TIM_TypeDef *TIMx)
Disable update interrupt flag (UIF) remapping. CR1 UIFREMAP LL_TIM_DisableUIFRemap.
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH2(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR2) set for output channel 2.
__STATIC_INLINE void LL_TIM_ConfigBRK(TIM_TypeDef *TIMx, uint32_t BreakPolarity, uint32_t BreakFilter)
Configure the break input.
__STATIC_INLINE void LL_TIM_ClearFlag_UPDATE(TIM_TypeDef *TIMx)
Clear the update interrupt flag (UIF). SR UIF LL_TIM_ClearFlag_UPDATE.
__STATIC_INLINE void LL_TIM_DisableIT_UPDATE(TIM_TypeDef *TIMx)
Disable update interrupt (UIE). DIER UIE LL_TIM_DisableIT_UPDATE.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC2OVR(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 2 over-capture interrupt flag (CC2OF) is set (Capture/Compare 2 over...
__STATIC_INLINE void LL_TIM_SetPrescaler(TIM_TypeDef *TIMx, uint32_t Prescaler)
Set the prescaler value.
__STATIC_INLINE uint32_t LL_TIM_CC_IsEnabledChannel(TIM_TypeDef *TIMx, uint32_t Channels)
Indicate whether channel(s) is(are) enabled. CCER CC1E LL_TIM_CC_IsEnabledChannel CCER CC1NE LL_TIM...
__STATIC_INLINE void LL_TIM_DisableIT_BRK(TIM_TypeDef *TIMx)
Disable break interrupt (BIE). DIER BIE LL_TIM_DisableIT_BRK.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
__STATIC_INLINE uint32_t LL_TIM_IsEnabledAllOutputs(TIM_TypeDef *TIMx)
Indicates whether outputs are enabled.
__STATIC_INLINE void LL_TIM_ConfigBRK2(TIM_TypeDef *TIMx, uint32_t Break2Polarity, uint32_t Break2Filter)
Configure the break 2 input.
__STATIC_INLINE void LL_TIM_ClearFlag_CC1(TIM_TypeDef *TIMx)
Clear the Capture/Compare 1 interrupt flag (CC1F). SR CC1IF LL_TIM_ClearFlag_CC1.
__STATIC_INLINE void LL_TIM_EnableDMAReq_CC3(TIM_TypeDef *TIMx)
Enable capture/compare 3 DMA request (CC3DE). DIER CC3DE LL_TIM_EnableDMAReq_CC3.
__STATIC_INLINE void LL_TIM_ClearFlag_BRK2(TIM_TypeDef *TIMx)
Clear the break 2 interrupt flag (B2IF). SR B2IF LL_TIM_ClearFlag_BRK2.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledMasterSlaveMode(TIM_TypeDef *TIMx)
Indicates whether the Master/Slave mode is enabled.
__STATIC_INLINE void LL_TIM_GenerateEvent_BRK2(TIM_TypeDef *TIMx)
Generate break 2 event. EGR B2G LL_TIM_GenerateEvent_BRK2.
__STATIC_INLINE void LL_TIM_GenerateEvent_COM(TIM_TypeDef *TIMx)
Generate commutation event. EGR COMG LL_TIM_GenerateEvent_COM.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_BRK(TIM_TypeDef *TIMx)
Indicate whether break interrupt flag (BIF) is set (break interrupt is pending). SR BIF LL_TIM_IsAct...
__STATIC_INLINE void LL_TIM_EnableExternalClock(TIM_TypeDef *TIMx)
Enable external clock mode 2.
__STATIC_INLINE void LL_TIM_OC_SetIdleState(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t IdleState)
Set the IDLE state of an output channel.
__STATIC_INLINE void LL_TIM_ClearFlag_BRK(TIM_TypeDef *TIMx)
Clear the break interrupt flag (BIF). SR BIF LL_TIM_ClearFlag_BRK.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_BRK2(TIM_TypeDef *TIMx)
Indicate whether break 2 interrupt flag (B2IF) is set (break 2 interrupt is pending). SR B2IF LL_TIM_IsActiveFlag_BRK2.
__STATIC_INLINE void LL_TIM_SetRepetitionCounter(TIM_TypeDef *TIMx, uint32_t RepetitionCounter)
Set the repetition counter value.
__STATIC_INLINE void LL_TIM_GenerateEvent_CC4(TIM_TypeDef *TIMx)
Generate Capture/Compare 4 event. EGR CC4G LL_TIM_GenerateEvent_CC4.
__STATIC_INLINE void LL_TIM_DisableExternalClock(TIM_TypeDef *TIMx)
Disable external clock mode 2.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC1(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 1 interrupt flag (CC1F) is set (Capture/Compare 1 interrupt is pendi...
__STATIC_INLINE void LL_TIM_DisableIT_CC2(TIM_TypeDef *TIMx)
Disable capture/compare 2 interrupt (CC2IE). DIER CC2IE LL_TIM_DisableIT_CC2.
__STATIC_INLINE void LL_TIM_DisableDMAReq_CC4(TIM_TypeDef *TIMx)
Disable capture/compare 4 DMA request (CC4DE). DIER CC4DE LL_TIM_DisableDMAReq_CC4.
__STATIC_INLINE void LL_TIM_DisableIT_CC1(TIM_TypeDef *TIMx)
Disable capture/compare 1 interrupt (CC1IE). DIER CC1IE LL_TIM_DisableIT_CC1.
__STATIC_INLINE uint32_t LL_TIM_GetCounter(TIM_TypeDef *TIMx)
Get the counter value.
void LL_TIM_HALLSENSOR_StructInit(LL_TIM_HALLSENSOR_InitTypeDef *TIM_HallSensorInitStruct)
Set the fields of the TIMx Hall sensor interface configuration data structure to their default values...
__STATIC_INLINE void LL_TIM_EnableIT_CC4(TIM_TypeDef *TIMx)
Enable capture/compare 4 interrupt (CC4IE). DIER CC4IE LL_TIM_EnableIT_CC4.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledARRPreload(TIM_TypeDef *TIMx)
Indicates whether auto-reload (ARR) preload is enabled. CR1 ARPE LL_TIM_IsEnabledARRPreload.
static const uint8_t SHIFT_TAB_CCxP[]
__STATIC_INLINE void LL_TIM_SetOnePulseMode(TIM_TypeDef *TIMx, uint32_t OnePulseMode)
Set one pulse mode (one shot v.s. repetitive). CR1 OPM LL_TIM_SetOnePulseMode.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledAutomaticOutput(TIM_TypeDef *TIMx)
Indicate whether automatic output is enabled.
__STATIC_INLINE uint32_t LL_TIM_OC_IsEnabledPreload(TIM_TypeDef *TIMx, uint32_t Channel)
Indicates whether compare register (TIMx_CCRx) preload is enabled for the output channel. CCMR1 OC1PE LL_TIM_OC_IsEnabledPreload CCMR1 OC2PE LL_TIM_OC_IsEnabledPreload CCMR2 OC3PE LL_TIM_OC_IsEnabledPreload CCMR2 OC4PE LL_TIM_OC_IsEnabledPreload CCMR3 OC5PE LL_TIM_OC_IsEnabledPreload CCMR3 OC6PE LL_TIM_OC_IsEnabledPreload.
__STATIC_INLINE void LL_TIM_EnableDMAReq_TRIG(TIM_TypeDef *TIMx)
Enable trigger interrupt (TDE). DIER TDE LL_TIM_EnableDMAReq_TRIG.
void LL_TIM_BDTR_StructInit(LL_TIM_BDTR_InitTypeDef *TIM_BDTRInitStruct)
Set the fields of the Break and Dead Time configuration data structure to their default values...
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC2(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 2 interrupt flag (CC2F) is set (Capture/Compare 2 interrupt is pendi...
__STATIC_INLINE void LL_TIM_SetUpdateSource(TIM_TypeDef *TIMx, uint32_t UpdateSource)
Set update event source.
void LL_TIM_ENCODER_StructInit(LL_TIM_ENCODER_InitTypeDef *TIM_EncoderInitStruct)
Fills each TIM_EncoderInitStruct field with its default value.
__STATIC_INLINE void LL_TIM_EnableDMAReq_COM(TIM_TypeDef *TIMx)
Enable commutation DMA request (COMDE). DIER COMDE LL_TIM_EnableDMAReq_COM.
__STATIC_INLINE void LL_TIM_SetCH5CombinedChannels(TIM_TypeDef *TIMx, uint32_t GroupCH5)
Select on which reference signal the OC5REF is combined to.
__STATIC_INLINE void LL_TIM_DisableCounter(TIM_TypeDef *TIMx)
Disable timer counter. CR1 CEN LL_TIM_DisableCounter.
__STATIC_INLINE void LL_TIM_SetAutoReload(TIM_TypeDef *TIMx, uint32_t AutoReload)
Set the auto-reload value.
TIM Encoder interface configuration structure definition.
__STATIC_INLINE void LL_TIM_GenerateEvent_TRIG(TIM_TypeDef *TIMx)
Generate trigger event. EGR TG LL_TIM_GenerateEvent_TRIG.
__STATIC_INLINE void LL_TIM_EnableIT_TRIG(TIM_TypeDef *TIMx)
Enable trigger interrupt (TIE). DIER TIE LL_TIM_EnableIT_TRIG.
__STATIC_INLINE void LL_TIM_CC_SetDMAReqTrigger(TIM_TypeDef *TIMx, uint32_t DMAReqTrigger)
Set the trigger of the capture/compare DMA request. CR2 CCDS LL_TIM_CC_SetDMAReqTrigger.
uint32_t CommutationDelay
__STATIC_INLINE void LL_TIM_ClearFlag_COM(TIM_TypeDef *TIMx)
Clear the commutation interrupt flag (COMIF). SR COMIF LL_TIM_ClearFlag_COM.
__STATIC_INLINE void LL_TIM_ConfigETR(TIM_TypeDef *TIMx, uint32_t ETRPolarity, uint32_t ETRPrescaler, uint32_t ETRFilter)
Configure the external trigger (ETR) input.
__STATIC_INLINE void LL_TIM_SetClockSource(TIM_TypeDef *TIMx, uint32_t ClockSource)
Set the clock source of the counter clock.
__STATIC_INLINE void LL_TIM_ClearFlag_CC3(TIM_TypeDef *TIMx)
Clear the Capture/Compare 3 interrupt flag (CC3F). SR CC3IF LL_TIM_ClearFlag_CC3.
TIM Output Compare configuration structure definition.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_CC3(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 3 interrupt (CC3IE) is enabled. DIER CC3IE LL_TIM_IsEnabledIT_...
__STATIC_INLINE uint32_t LL_TIM_GetCounterMode(TIM_TypeDef *TIMx)
Get actual counter mode.
__STATIC_INLINE void LL_TIM_OC_SetDeadTime(TIM_TypeDef *TIMx, uint32_t DeadTime)
Set the dead-time delay (delay inserted between the rising edge of the OCxREF signal and the rising e...
__STATIC_INLINE void LL_TIM_ClearFlag_CC4OVR(TIM_TypeDef *TIMx)
Clear the Capture/Compare 4 over-capture interrupt flag (CC4OF). SR CC4OF LL_TIM_ClearFlag_CC4OVR.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC4OVR(TIM_TypeDef *TIMx)
Indicate whether Capture/Compare 4 over-capture interrupt flag (CC4OF) is set (Capture/Compare 4 over...
static const uint8_t SHIFT_TAB_ICxx[]
__STATIC_INLINE void LL_TIM_EnableDMAReq_UPDATE(TIM_TypeDef *TIMx)
Enable update DMA request (UDE). DIER UDE LL_TIM_EnableDMAReq_UPDATE.
__STATIC_INLINE void LL_TIM_OC_SetCompareCH6(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 6 (TIMx_CCR6).
__STATIC_INLINE void LL_TIM_DisableBRK2(TIM_TypeDef *TIMx)
Disable the break 2 function.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledExternalClock(TIM_TypeDef *TIMx)
Indicate whether external clock mode 2 is enabled.
__STATIC_INLINE void LL_TIM_SetOffStates(TIM_TypeDef *TIMx, uint32_t OffStateIdle, uint32_t OffStateRun)
Select the outputs off state (enabled v.s. disabled) in Idle and Run modes.
ErrorStatus LL_TIM_DeInit(TIM_TypeDef *TIMx)
Set TIMx registers to their reset values.
void LL_TIM_OC_StructInit(LL_TIM_OC_InitTypeDef *TIM_OC_InitStruct)
Set the fields of the TIMx output channel configuration data structure to their default values...
__STATIC_INLINE void LL_TIM_OC_DisablePreload(TIM_TypeDef *TIMx, uint32_t Channel)
Disable compare register (TIMx_CCRx) preload for the output channel. CCMR1 OC1PE LL_TIM_OC_DisablePr...
ErrorStatus LL_TIM_HALLSENSOR_Init(TIM_TypeDef *TIMx, LL_TIM_HALLSENSOR_InitTypeDef *TIM_HallSensorInitStruct)
Configure the Hall sensor interface of the timer instance.
__STATIC_INLINE uint32_t LL_TIM_GetDirection(TIM_TypeDef *TIMx)
Get the current direction of the counter CR1 DIR LL_TIM_GetDirection.
void LL_TIM_IC_StructInit(LL_TIM_IC_InitTypeDef *TIM_ICInitStruct)
Set the fields of the TIMx input channel configuration data structure to their default values...
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_COM(TIM_TypeDef *TIMx)
Indicates whether the commutation interrupt (COMIE) is enabled. DIER COMIE LL_TIM_IsEnabledIT_COM.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_UPDATE(TIM_TypeDef *TIMx)
Indicates whether the update DMA request (UDE) is enabled. DIER UDE LL_TIM_IsEnabledDMAReq_UPDATE.
__STATIC_INLINE void LL_TIM_ClearFlag_CC2(TIM_TypeDef *TIMx)
Clear the Capture/Compare 2 interrupt flag (CC2F). SR CC2IF LL_TIM_ClearFlag_CC2.
__STATIC_INLINE void LL_TIM_SetTriggerInput(TIM_TypeDef *TIMx, uint32_t TriggerInput)
Set the selects the trigger input to be used to synchronize the counter.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledCounter(TIM_TypeDef *TIMx)
Indicates whether the timer counter is enabled. CR1 CEN LL_TIM_IsEnabledCounter. ...
__STATIC_INLINE void LL_TIM_SetSlaveMode(TIM_TypeDef *TIMx, uint32_t SlaveMode)
Set the synchronization mode of a slave timer.
__STATIC_INLINE void LL_TIM_EnableUIFRemap(TIM_TypeDef *TIMx)
Force a continuous copy of the update interrupt flag (UIF) into the timer counter register (bit 31)...
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
__STATIC_INLINE void LL_TIM_EnableCounter(TIM_TypeDef *TIMx)
Enable timer counter. CR1 CEN LL_TIM_EnableCounter.
__STATIC_INLINE void LL_TIM_EnableIT_CC3(TIM_TypeDef *TIMx)
Enable capture/compare 3 interrupt (CC3IE). DIER CC3IE LL_TIM_EnableIT_CC3.
static const uint8_t SHIFT_TAB_OCxx[]
__STATIC_INLINE void LL_TIM_DisableMasterSlaveMode(TIM_TypeDef *TIMx)
Disable the Master/Slave mode.
__STATIC_INLINE uint32_t LL_TIM_GetPrescaler(TIM_TypeDef *TIMx)
Get the prescaler value. PSC PSC LL_TIM_GetPrescaler.
__STATIC_INLINE void LL_TIM_ClearFlag_CC4(TIM_TypeDef *TIMx)
Clear the Capture/Compare 4 interrupt flag (CC4F). SR CC4IF LL_TIM_ClearFlag_CC4.
__STATIC_INLINE uint32_t LL_TIM_OC_GetIdleState(TIM_TypeDef *TIMx, uint32_t Channel)
Get the IDLE state of an output channel CR2 OIS1 LL_TIM_OC_GetIdleState CR2 OIS2N LL_TIM_OC_GetIdle...
__STATIC_INLINE void LL_TIM_SetOCRefClearInputSource(TIM_TypeDef *TIMx, uint32_t OCRefClearInputSource)
Set the OCREF clear input source.
__STATIC_INLINE void LL_TIM_EnableIT_UPDATE(TIM_TypeDef *TIMx)
Enable update interrupt (UIE). DIER UIE LL_TIM_EnableIT_UPDATE.
__STATIC_INLINE void LL_TIM_DisableAllOutputs(TIM_TypeDef *TIMx)
Disable the outputs (reset the MOE bit in TIMx_BDTR register).
__STATIC_INLINE void LL_TIM_EnableDMAReq_CC1(TIM_TypeDef *TIMx)
Enable capture/compare 1 DMA request (CC1DE). DIER CC1DE LL_TIM_EnableDMAReq_CC1.
__STATIC_INLINE void LL_TIM_GenerateEvent_CC3(TIM_TypeDef *TIMx)
Generate Capture/Compare 3 event. EGR CC3G LL_TIM_GenerateEvent_CC3.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_CC1(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 1 interrupt (CC1IE) is enabled. DIER CC1IE LL_TIM_IsEnabledIT_...
__STATIC_INLINE void LL_TIM_DisableIT_CC3(TIM_TypeDef *TIMx)
Disable capture/compare 3 interrupt (CC3IE). DIER CC3IE LL_TIM_DisableIT_CC3.
__STATIC_INLINE void LL_TIM_GenerateEvent_CC1(TIM_TypeDef *TIMx)
Generate Capture/Compare 1 event. EGR CC1G LL_TIM_GenerateEvent_CC1.
__STATIC_INLINE void LL_TIM_SetClockDivision(TIM_TypeDef *TIMx, uint32_t ClockDivision)
Set the division ratio between the timer clock and the sampling clock used by the dead-time generator...
__STATIC_INLINE void LL_TIM_EnableIT_BRK(TIM_TypeDef *TIMx)
Enable break interrupt (BIE). DIER BIE LL_TIM_EnableIT_BRK.
void LL_TIM_StructInit(LL_TIM_InitTypeDef *TIM_InitStruct)
Set the fields of the time base unit configuration data structure to their default values...
ErrorStatus LL_TIM_Init(TIM_TypeDef *TIMx, LL_TIM_InitTypeDef *TIM_InitStruct)
Configure the TIMx time base unit.
__STATIC_INLINE void LL_TIM_EnableIT_CC1(TIM_TypeDef *TIMx)
Enable capture/compare 1 interrupt (CC1IE). DIER CC1IE LL_TIM_EnableIT_CC1.
__STATIC_INLINE void LL_TIM_SetTriggerOutput(TIM_TypeDef *TIMx, uint32_t TimerSynchronization)
Set the trigger output (TRGO) used for timer synchronization .
__STATIC_INLINE void LL_TIM_OC_SetCompareCH5(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 5 (TIMx_CCR5).
__STATIC_INLINE uint32_t LL_TIM_IsEnabledDMAReq_COM(TIM_TypeDef *TIMx)
Indicates whether the commutation DMA request (COMDE) is enabled. DIER COMDE LL_TIM_IsEnabledDMAReq_...
ErrorStatus LL_TIM_BDTR_Init(TIM_TypeDef *TIMx, LL_TIM_BDTR_InitTypeDef *TIM_BDTRInitStruct)
Configure the Break and Dead Time feature of the timer instance.
__STATIC_INLINE uint32_t LL_TIM_IsEnabledIT_CC4(TIM_TypeDef *TIMx)
Indicates whether the capture/compare 4 interrupt (CC4IE) is enabled. DIER CC4IE LL_TIM_IsEnabledIT_...
__STATIC_INLINE void LL_TIM_EnableBRK(TIM_TypeDef *TIMx)
Enable the break function.
__STATIC_INLINE void LL_TIM_SetTriggerOutput2(TIM_TypeDef *TIMx, uint32_t ADCSynchronization)
Set the trigger output 2 (TRGO2) used for ADC synchronization .
__STATIC_INLINE void LL_TIM_ClearFlag_TRIG(TIM_TypeDef *TIMx)
Clear the trigger interrupt flag (TIF). SR TIF LL_TIM_ClearFlag_TRIG.
__STATIC_INLINE void LL_TIM_EnableBreakInputSource(TIM_TypeDef *TIMx, uint32_t BreakInput, uint32_t Source)
Enable the signals connected to the designated timer break input.
TIM Hall sensor interface configuration structure definition.
__STATIC_INLINE void LL_TIM_OC_EnableClear(TIM_TypeDef *TIMx, uint32_t Channel)
Enable clearing the output channel on an external event.
__STATIC_INLINE void LL_TIM_OC_SetCompareCH2(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 2 (TIMx_CCR2).
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_TRIG(TIM_TypeDef *TIMx)
Indicate whether trigger interrupt flag (TIF) is set (trigger interrupt is pending). SR TIF LL_TIM_IsActiveFlag_TRIG.
static const uint8_t OFFSET_TAB_CCMRx[]
__STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH4(TIM_TypeDef *TIMx)
Get compare value (TIMx_CCR4) set for output channel 4.
__STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_SYSBRK(TIM_TypeDef *TIMx)
Indicate whether system break interrupt flag (SBIF) is set (system break interrupt is pending)...
TIM Input Capture configuration structure definition.
__STATIC_INLINE uint32_t LL_TIM_GetUpdateSource(TIM_TypeDef *TIMx)
Get actual event update source CR1 URS LL_TIM_GetUpdateSource.
__STATIC_INLINE void LL_TIM_OC_SetCompareCH4(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 4 (TIMx_CCR4).
__STATIC_INLINE void LL_TIM_OC_SetCompareCH1(TIM_TypeDef *TIMx, uint32_t CompareValue)
Set compare value for output channel 1 (TIMx_CCR1).
__STATIC_INLINE void LL_TIM_ClearFlag_CC6(TIM_TypeDef *TIMx)
Clear the Capture/Compare 6 interrupt flag (CC6F). SR CC6IF LL_TIM_ClearFlag_CC6.
__STATIC_INLINE void LL_TIM_CC_SetUpdate(TIM_TypeDef *TIMx, uint32_t CCUpdateSource)
Set the updated source of the capture/compare control bits (CCxE, CCxNE and OCxM).