197#ifdef HAL_TIM_MODULE_ENABLED
211static void TIM_TI2_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
212 uint32_t TIM_ICFilter);
214static void TIM_TI3_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
215 uint32_t TIM_ICFilter);
216static void TIM_TI4_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
217 uint32_t TIM_ICFilter);
286#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
288 TIM_ResetCallback(htim);
290 if (htim->Base_MspInitCallback == NULL)
295 htim->Base_MspInitCallback(htim);
336#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
337 if (htim->Base_MspDeInitCallback == NULL)
342 htim->Base_MspDeInitCallback(htim);
417 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
419 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
479 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
481 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
540 if ((pData == NULL) || (Length == 0U))
573 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
575 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
670#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
672 TIM_ResetCallback(htim);
674 if (htim->OC_MspInitCallback == NULL)
679 htim->OC_MspInitCallback(htim);
720#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
721 if (htim->OC_MspDeInitCallback == NULL)
726 htim->OC_MspDeInitCallback(htim);
808 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
815 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
817 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
851 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
935 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
942 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
944 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
1018 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1064 if ((pData == NULL) || (Length == 0U))
1176 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1183 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
1185 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
1263 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1335#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1337 TIM_ResetCallback(htim);
1339 if (htim->PWM_MspInitCallback == NULL)
1344 htim->PWM_MspInitCallback(htim);
1385#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1386 if (htim->PWM_MspDeInitCallback == NULL)
1391 htim->PWM_MspDeInitCallback(htim);
1473 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1480 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
1482 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
1516 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1600 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1607 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
1609 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
1683 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1729 if ((pData == NULL) || (Length == 0U))
1840 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1847 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
1849 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
1927 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
1999#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2001 TIM_ResetCallback(htim);
2003 if (htim->IC_MspInitCallback == NULL)
2008 htim->IC_MspInitCallback(htim);
2049#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2050 if (htim->IC_MspDeInitCallback == NULL)
2055 htim->IC_MspDeInitCallback(htim);
2142 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
2144 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
2263 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
2265 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
2385 if ((pData == NULL) || (Length == 0U))
2495 if (IS_TIM_SLAVE_INSTANCE(htim->
Instance))
2497 tmpsmcr = htim->
Instance->SMCR & TIM_SMCR_SMS;
2649#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2651 TIM_ResetCallback(htim);
2653 if (htim->OnePulse_MspInitCallback == NULL)
2658 htim->OnePulse_MspInitCallback(htim);
2672 htim->
Instance->CR1 &= ~TIM_CR1_OPM;
2675 htim->
Instance->CR1 |= OnePulseMode;
2707#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2708 if (htim->OnePulse_MspDeInitCallback == NULL)
2713 htim->OnePulse_MspDeInitCallback(htim);
2814 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
2848 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
2920 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
2959 if (IS_TIM_BREAK_INSTANCE(htim->
Instance) != RESET)
3052#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3054 TIM_ResetCallback(htim);
3056 if (htim->Encoder_MspInitCallback == NULL)
3061 htim->Encoder_MspInitCallback(htim);
3072 htim->
Instance->SMCR &= ~(TIM_SMCR_SMS | TIM_SMCR_ECE);
3090 tmpccmr1 &= ~(TIM_CCMR1_CC1S | TIM_CCMR1_CC2S);
3094 tmpccmr1 &= ~(TIM_CCMR1_IC1PSC | TIM_CCMR1_IC2PSC);
3095 tmpccmr1 &= ~(TIM_CCMR1_IC1F | TIM_CCMR1_IC2F);
3100 tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC2P);
3101 tmpccer &= ~(TIM_CCER_CC1NP | TIM_CCER_CC2NP);
3144#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3145 if (htim->Encoder_MspDeInitCallback == NULL)
3150 htim->Encoder_MspDeInitCallback(htim);
3534 uint32_t *pData2, uint16_t Length)
3555 if ((pData1 == NULL) || (Length == 0U))
3580 if ((pData2 == NULL) || (Length == 0U))
3609 if ((((pData1 == NULL) || (pData2 == NULL))) || (Length == 0U))
3825 uint32_t itsource = htim->
Instance->DIER;
3826 uint32_t itflag = htim->
Instance->SR;
3838 if ((htim->
Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U)
3840#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3841 htim->IC_CaptureCallback(htim);
3849#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3850 htim->OC_DelayElapsedCallback(htim);
3851 htim->PWM_PulseFinishedCallback(htim);
3869 if ((htim->
Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U)
3871#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3872 htim->IC_CaptureCallback(htim);
3880#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3881 htim->OC_DelayElapsedCallback(htim);
3882 htim->PWM_PulseFinishedCallback(htim);
3899 if ((htim->
Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U)
3901#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3902 htim->IC_CaptureCallback(htim);
3910#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3911 htim->OC_DelayElapsedCallback(htim);
3912 htim->PWM_PulseFinishedCallback(htim);
3929 if ((htim->
Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U)
3931#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3932 htim->IC_CaptureCallback(htim);
3940#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3941 htim->OC_DelayElapsedCallback(htim);
3942 htim->PWM_PulseFinishedCallback(htim);
3957#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3958 htim->PeriodElapsedCallback(htim);
3970#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3971 htim->BreakCallback(htim);
3983#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3984 htim->TriggerCallback(htim);
3996#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3997 htim->CommutationCallback(htim);
4143 htim->
Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC;
4159 htim->
Instance->CCMR1 &= ~TIM_CCMR1_IC2PSC;
4175 htim->
Instance->CCMR2 &= ~TIM_CCMR2_IC3PSC;
4191 htim->
Instance->CCMR2 &= ~TIM_CCMR2_IC4PSC;
4245 htim->
Instance->CCMR1 |= TIM_CCMR1_OC1PE;
4248 htim->
Instance->CCMR1 &= ~TIM_CCMR1_OC1FE;
4262 htim->
Instance->CCMR1 |= TIM_CCMR1_OC2PE;
4265 htim->
Instance->CCMR1 &= ~TIM_CCMR1_OC2FE;
4279 htim->
Instance->CCMR2 |= TIM_CCMR2_OC3PE;
4282 htim->
Instance->CCMR2 &= ~TIM_CCMR2_OC3FE;
4296 htim->
Instance->CCMR2 |= TIM_CCMR2_OC4PE;
4299 htim->
Instance->CCMR2 &= ~TIM_CCMR2_OC4FE;
4334 uint32_t OutputChannel, uint32_t InputChannel)
4343 if (OutputChannel != InputChannel)
4358 switch (OutputChannel)
4383 switch (InputChannel)
4393 htim->
Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC;
4396 htim->
Instance->SMCR &= ~TIM_SMCR_TS;
4400 htim->
Instance->SMCR &= ~TIM_SMCR_SMS;
4413 htim->
Instance->CCMR1 &= ~TIM_CCMR1_IC2PSC;
4416 htim->
Instance->SMCR &= ~TIM_SMCR_TS;
4420 htim->
Instance->SMCR &= ~TIM_SMCR_SMS;
4482 uint32_t BurstRequestSrc,
const uint32_t *BurstBuffer,
4483 uint32_t BurstLength)
4488 ((BurstLength) >> 8U) + 1U);
4535 uint32_t BurstRequestSrc,
const uint32_t *BurstBuffer,
4536 uint32_t BurstLength, uint32_t DataLength)
4553 if ((BurstBuffer == NULL) && (BurstLength > 0U))
4567 switch (BurstRequestSrc)
4703 htim->
Instance->DCR = (BurstBaseAddress | BurstLength);
4726 switch (BurstRequestSrc)
4820 uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength)
4825 ((BurstLength) >> 8U) + 1U);
4871 uint32_t BurstRequestSrc, uint32_t *BurstBuffer,
4872 uint32_t BurstLength, uint32_t DataLength)
4889 if ((BurstBuffer == NULL) && (BurstLength > 0U))
4902 switch (BurstRequestSrc)
5038 htim->
Instance->DCR = (BurstBaseAddress | BurstLength);
5062 switch (BurstRequestSrc)
5194 CLEAR_BIT(htim->
Instance->SMCR, (TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP));
5234 SET_BIT(htim->
Instance->CCMR1, TIM_CCMR1_OC1CE);
5239 CLEAR_BIT(htim->
Instance->CCMR1, TIM_CCMR1_OC1CE);
5248 SET_BIT(htim->
Instance->CCMR1, TIM_CCMR1_OC2CE);
5253 CLEAR_BIT(htim->
Instance->CCMR1, TIM_CCMR1_OC2CE);
5262 SET_BIT(htim->
Instance->CCMR2, TIM_CCMR2_OC3CE);
5267 CLEAR_BIT(htim->
Instance->CCMR2, TIM_CCMR2_OC3CE);
5276 SET_BIT(htim->
Instance->CCMR2, TIM_CCMR2_OC4CE);
5281 CLEAR_BIT(htim->
Instance->CCMR2, TIM_CCMR2_OC4CE);
5319 tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS);
5320 tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
5371 htim->
Instance->SMCR |= TIM_SMCR_ECE;
5470 tmpcr2 &= ~TIM_CR2_TI1S;
5473 tmpcr2 |= TI1_Selection;
5575 uint32_t tmpreg = 0U;
5802#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
5839 pTIM_CallbackTypeDef pCallback)
5843 if (pCallback == NULL)
5852 case HAL_TIM_BASE_MSPINIT_CB_ID :
5853 htim->Base_MspInitCallback = pCallback;
5856 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
5857 htim->Base_MspDeInitCallback = pCallback;
5860 case HAL_TIM_IC_MSPINIT_CB_ID :
5861 htim->IC_MspInitCallback = pCallback;
5864 case HAL_TIM_IC_MSPDEINIT_CB_ID :
5865 htim->IC_MspDeInitCallback = pCallback;
5868 case HAL_TIM_OC_MSPINIT_CB_ID :
5869 htim->OC_MspInitCallback = pCallback;
5872 case HAL_TIM_OC_MSPDEINIT_CB_ID :
5873 htim->OC_MspDeInitCallback = pCallback;
5876 case HAL_TIM_PWM_MSPINIT_CB_ID :
5877 htim->PWM_MspInitCallback = pCallback;
5880 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
5881 htim->PWM_MspDeInitCallback = pCallback;
5884 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
5885 htim->OnePulse_MspInitCallback = pCallback;
5888 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
5889 htim->OnePulse_MspDeInitCallback = pCallback;
5892 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
5893 htim->Encoder_MspInitCallback = pCallback;
5896 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
5897 htim->Encoder_MspDeInitCallback = pCallback;
5900 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
5901 htim->HallSensor_MspInitCallback = pCallback;
5904 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
5905 htim->HallSensor_MspDeInitCallback = pCallback;
5908 case HAL_TIM_PERIOD_ELAPSED_CB_ID :
5909 htim->PeriodElapsedCallback = pCallback;
5912 case HAL_TIM_PERIOD_ELAPSED_HALF_CB_ID :
5913 htim->PeriodElapsedHalfCpltCallback = pCallback;
5916 case HAL_TIM_TRIGGER_CB_ID :
5917 htim->TriggerCallback = pCallback;
5920 case HAL_TIM_TRIGGER_HALF_CB_ID :
5921 htim->TriggerHalfCpltCallback = pCallback;
5924 case HAL_TIM_IC_CAPTURE_CB_ID :
5925 htim->IC_CaptureCallback = pCallback;
5928 case HAL_TIM_IC_CAPTURE_HALF_CB_ID :
5929 htim->IC_CaptureHalfCpltCallback = pCallback;
5932 case HAL_TIM_OC_DELAY_ELAPSED_CB_ID :
5933 htim->OC_DelayElapsedCallback = pCallback;
5936 case HAL_TIM_PWM_PULSE_FINISHED_CB_ID :
5937 htim->PWM_PulseFinishedCallback = pCallback;
5940 case HAL_TIM_PWM_PULSE_FINISHED_HALF_CB_ID :
5941 htim->PWM_PulseFinishedHalfCpltCallback = pCallback;
5944 case HAL_TIM_ERROR_CB_ID :
5945 htim->ErrorCallback = pCallback;
5948 case HAL_TIM_COMMUTATION_CB_ID :
5949 htim->CommutationCallback = pCallback;
5952 case HAL_TIM_COMMUTATION_HALF_CB_ID :
5953 htim->CommutationHalfCpltCallback = pCallback;
5956 case HAL_TIM_BREAK_CB_ID :
5957 htim->BreakCallback = pCallback;
5970 case HAL_TIM_BASE_MSPINIT_CB_ID :
5971 htim->Base_MspInitCallback = pCallback;
5974 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
5975 htim->Base_MspDeInitCallback = pCallback;
5978 case HAL_TIM_IC_MSPINIT_CB_ID :
5979 htim->IC_MspInitCallback = pCallback;
5982 case HAL_TIM_IC_MSPDEINIT_CB_ID :
5983 htim->IC_MspDeInitCallback = pCallback;
5986 case HAL_TIM_OC_MSPINIT_CB_ID :
5987 htim->OC_MspInitCallback = pCallback;
5990 case HAL_TIM_OC_MSPDEINIT_CB_ID :
5991 htim->OC_MspDeInitCallback = pCallback;
5994 case HAL_TIM_PWM_MSPINIT_CB_ID :
5995 htim->PWM_MspInitCallback = pCallback;
5998 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
5999 htim->PWM_MspDeInitCallback = pCallback;
6002 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
6003 htim->OnePulse_MspInitCallback = pCallback;
6006 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
6007 htim->OnePulse_MspDeInitCallback = pCallback;
6010 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
6011 htim->Encoder_MspInitCallback = pCallback;
6014 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
6015 htim->Encoder_MspDeInitCallback = pCallback;
6018 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
6019 htim->HallSensor_MspInitCallback = pCallback;
6022 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
6023 htim->HallSensor_MspDeInitCallback = pCallback;
6084 case HAL_TIM_BASE_MSPINIT_CB_ID :
6089 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
6094 case HAL_TIM_IC_MSPINIT_CB_ID :
6099 case HAL_TIM_IC_MSPDEINIT_CB_ID :
6104 case HAL_TIM_OC_MSPINIT_CB_ID :
6109 case HAL_TIM_OC_MSPDEINIT_CB_ID :
6114 case HAL_TIM_PWM_MSPINIT_CB_ID :
6119 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
6124 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
6129 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
6134 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
6139 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
6144 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
6149 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
6154 case HAL_TIM_PERIOD_ELAPSED_CB_ID :
6159 case HAL_TIM_PERIOD_ELAPSED_HALF_CB_ID :
6164 case HAL_TIM_TRIGGER_CB_ID :
6169 case HAL_TIM_TRIGGER_HALF_CB_ID :
6174 case HAL_TIM_IC_CAPTURE_CB_ID :
6179 case HAL_TIM_IC_CAPTURE_HALF_CB_ID :
6184 case HAL_TIM_OC_DELAY_ELAPSED_CB_ID :
6189 case HAL_TIM_PWM_PULSE_FINISHED_CB_ID :
6194 case HAL_TIM_PWM_PULSE_FINISHED_HALF_CB_ID :
6199 case HAL_TIM_ERROR_CB_ID :
6204 case HAL_TIM_COMMUTATION_CB_ID :
6209 case HAL_TIM_COMMUTATION_HALF_CB_ID :
6214 case HAL_TIM_BREAK_CB_ID :
6229 case HAL_TIM_BASE_MSPINIT_CB_ID :
6234 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
6239 case HAL_TIM_IC_MSPINIT_CB_ID :
6244 case HAL_TIM_IC_MSPDEINIT_CB_ID :
6249 case HAL_TIM_OC_MSPINIT_CB_ID :
6254 case HAL_TIM_OC_MSPDEINIT_CB_ID :
6259 case HAL_TIM_PWM_MSPINIT_CB_ID :
6264 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
6269 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
6274 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
6279 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
6284 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
6289 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
6294 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
6426 return channel_state;
6488#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6489 htim->ErrorCallback(htim);
6547#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6548 htim->PWM_PulseFinishedCallback(htim);
6586#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6587 htim->PWM_PulseFinishedHalfCpltCallback(htim);
6649#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6650 htim->IC_CaptureCallback(htim);
6688#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6689 htim->IC_CaptureHalfCpltCallback(htim);
6711#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6712 htim->PeriodElapsedCallback(htim);
6727#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6728 htim->PeriodElapsedHalfCpltCallback(htim);
6748#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6749 htim->TriggerCallback(htim);
6764#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6765 htim->TriggerHalfCpltCallback(htim);
6783 if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx))
6786 tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS);
6790 if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx))
6793 tmpcr1 &= ~TIM_CR1_CKD;
6803 TIMx->ARR = (uint32_t)Structure->
Period ;
6808 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx))
6816 TIMx->EGR = TIM_EGR_UG;
6839 tmpccer = TIMx->CCER;
6842 TIMx->CCER &= ~TIM_CCER_CC1E;
6848 tmpccmrx = TIMx->CCMR1;
6851 tmpccmrx &= ~TIM_CCMR1_OC1M;
6852 tmpccmrx &= ~TIM_CCMR1_CC1S;
6854 tmpccmrx |= OC_Config->
OCMode;
6857 tmpccer &= ~TIM_CCER_CC1P;
6867 tmpccer &= ~TIM_CCER_CC1NP;
6871 tmpccer &= ~TIM_CCER_CC1NE;
6874 if (IS_TIM_BREAK_INSTANCE(TIMx))
6881 tmpcr2 &= ~TIM_CR2_OIS1;
6882 tmpcr2 &= ~TIM_CR2_OIS1N;
6893 TIMx->CCMR1 = tmpccmrx;
6896 TIMx->CCR1 = OC_Config->
Pulse;
6899 TIMx->CCER = tmpccer;
6915 tmpccer = TIMx->CCER;
6918 TIMx->CCER &= ~TIM_CCER_CC2E;
6924 tmpccmrx = TIMx->CCMR1;
6927 tmpccmrx &= ~TIM_CCMR1_OC2M;
6928 tmpccmrx &= ~TIM_CCMR1_CC2S;
6931 tmpccmrx |= (OC_Config->
OCMode << 8U);
6934 tmpccer &= ~TIM_CCER_CC2P;
6943 tmpccer &= ~TIM_CCER_CC2NP;
6947 tmpccer &= ~TIM_CCER_CC2NE;
6950 if (IS_TIM_BREAK_INSTANCE(TIMx))
6957 tmpcr2 &= ~TIM_CR2_OIS2;
6958 tmpcr2 &= ~TIM_CR2_OIS2N;
6969 TIMx->CCMR1 = tmpccmrx;
6972 TIMx->CCR2 = OC_Config->
Pulse;
6975 TIMx->CCER = tmpccer;
6991 tmpccer = TIMx->CCER;
6994 TIMx->CCER &= ~TIM_CCER_CC3E;
7000 tmpccmrx = TIMx->CCMR2;
7003 tmpccmrx &= ~TIM_CCMR2_OC3M;
7004 tmpccmrx &= ~TIM_CCMR2_CC3S;
7006 tmpccmrx |= OC_Config->
OCMode;
7009 tmpccer &= ~TIM_CCER_CC3P;
7018 tmpccer &= ~TIM_CCER_CC3NP;
7022 tmpccer &= ~TIM_CCER_CC3NE;
7025 if (IS_TIM_BREAK_INSTANCE(TIMx))
7032 tmpcr2 &= ~TIM_CR2_OIS3;
7033 tmpcr2 &= ~TIM_CR2_OIS3N;
7044 TIMx->CCMR2 = tmpccmrx;
7047 TIMx->CCR3 = OC_Config->
Pulse;
7050 TIMx->CCER = tmpccer;
7066 tmpccer = TIMx->CCER;
7069 TIMx->CCER &= ~TIM_CCER_CC4E;
7075 tmpccmrx = TIMx->CCMR2;
7078 tmpccmrx &= ~TIM_CCMR2_OC4M;
7079 tmpccmrx &= ~TIM_CCMR2_CC4S;
7082 tmpccmrx |= (OC_Config->
OCMode << 8U);
7085 tmpccer &= ~TIM_CCER_CC4P;
7089 if (IS_TIM_BREAK_INSTANCE(TIMx))
7095 tmpcr2 &= ~TIM_CR2_OIS4;
7105 TIMx->CCMR2 = tmpccmrx;
7108 TIMx->CCR4 = OC_Config->
Pulse;
7111 TIMx->CCER = tmpccer;
7132 tmpsmcr &= ~TIM_SMCR_TS;
7137 tmpsmcr &= ~TIM_SMCR_SMS;
7175 htim->
Instance->CCER &= ~TIM_CCER_CC1E;
7179 tmpccmr1 &= ~TIM_CCMR1_IC1F;
7255 uint32_t TIM_ICFilter)
7261 tmpccer = TIMx->CCER;
7262 TIMx->CCER &= ~TIM_CCER_CC1E;
7263 tmpccmr1 = TIMx->CCMR1;
7266 if (IS_TIM_CC2_INSTANCE(TIMx) != RESET)
7268 tmpccmr1 &= ~TIM_CCMR1_CC1S;
7269 tmpccmr1 |= TIM_ICSelection;
7273 tmpccmr1 |= TIM_CCMR1_CC1S_0;
7277 tmpccmr1 &= ~TIM_CCMR1_IC1F;
7278 tmpccmr1 |= ((TIM_ICFilter << 4U) & TIM_CCMR1_IC1F);
7281 tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP);
7282 tmpccer |= (TIM_ICPolarity & (TIM_CCER_CC1P | TIM_CCER_CC1NP));
7285 TIMx->CCMR1 = tmpccmr1;
7286 TIMx->CCER = tmpccer;
7307 tmpccer = TIMx->CCER;
7308 TIMx->CCER &= ~TIM_CCER_CC1E;
7309 tmpccmr1 = TIMx->CCMR1;
7312 tmpccmr1 &= ~TIM_CCMR1_IC1F;
7313 tmpccmr1 |= (TIM_ICFilter << 4U);
7316 tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP);
7317 tmpccer |= TIM_ICPolarity;
7320 TIMx->CCMR1 = tmpccmr1;
7321 TIMx->CCER = tmpccer;
7345 uint32_t TIM_ICFilter)
7351 tmpccer = TIMx->CCER;
7352 TIMx->CCER &= ~TIM_CCER_CC2E;
7353 tmpccmr1 = TIMx->CCMR1;
7356 tmpccmr1 &= ~TIM_CCMR1_CC2S;
7357 tmpccmr1 |= (TIM_ICSelection << 8U);
7360 tmpccmr1 &= ~TIM_CCMR1_IC2F;
7361 tmpccmr1 |= ((TIM_ICFilter << 12U) & TIM_CCMR1_IC2F);
7364 tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP);
7365 tmpccer |= ((TIM_ICPolarity << 4U) & (TIM_CCER_CC2P | TIM_CCER_CC2NP));
7368 TIMx->CCMR1 = tmpccmr1 ;
7369 TIMx->CCER = tmpccer;
7390 tmpccer = TIMx->CCER;
7391 TIMx->CCER &= ~TIM_CCER_CC2E;
7392 tmpccmr1 = TIMx->CCMR1;
7395 tmpccmr1 &= ~TIM_CCMR1_IC2F;
7396 tmpccmr1 |= (TIM_ICFilter << 12U);
7399 tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP);
7400 tmpccer |= (TIM_ICPolarity << 4U);
7403 TIMx->CCMR1 = tmpccmr1 ;
7404 TIMx->CCER = tmpccer;
7428 uint32_t TIM_ICFilter)
7434 tmpccer = TIMx->CCER;
7435 TIMx->CCER &= ~TIM_CCER_CC3E;
7436 tmpccmr2 = TIMx->CCMR2;
7439 tmpccmr2 &= ~TIM_CCMR2_CC3S;
7440 tmpccmr2 |= TIM_ICSelection;
7443 tmpccmr2 &= ~TIM_CCMR2_IC3F;
7444 tmpccmr2 |= ((TIM_ICFilter << 4U) & TIM_CCMR2_IC3F);
7447 tmpccer &= ~(TIM_CCER_CC3P | TIM_CCER_CC3NP);
7448 tmpccer |= ((TIM_ICPolarity << 8U) & (TIM_CCER_CC3P | TIM_CCER_CC3NP));
7451 TIMx->CCMR2 = tmpccmr2;
7452 TIMx->CCER = tmpccer;
7476 uint32_t TIM_ICFilter)
7482 tmpccer = TIMx->CCER;
7483 TIMx->CCER &= ~TIM_CCER_CC4E;
7484 tmpccmr2 = TIMx->CCMR2;
7487 tmpccmr2 &= ~TIM_CCMR2_CC4S;
7488 tmpccmr2 |= (TIM_ICSelection << 8U);
7491 tmpccmr2 &= ~TIM_CCMR2_IC4F;
7492 tmpccmr2 |= ((TIM_ICFilter << 12U) & TIM_CCMR2_IC4F);
7495 tmpccer &= ~(TIM_CCER_CC4P | TIM_CCER_CC4NP);
7496 tmpccer |= ((TIM_ICPolarity << 12U) & (TIM_CCER_CC4P | TIM_CCER_CC4NP));
7499 TIMx->CCMR2 = tmpccmr2;
7500 TIMx->CCER = tmpccer ;
7523 tmpsmcr = TIMx->SMCR;
7525 tmpsmcr &= ~TIM_SMCR_TS;
7529 TIMx->SMCR = tmpsmcr;
7549 uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
7553 tmpsmcr = TIMx->SMCR;
7556 tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
7559 tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U)));
7562 TIMx->SMCR = tmpsmcr;
7586 tmp = TIM_CCER_CC1E << (Channel & 0x1FU);
7592 TIMx->CCER |= (uint32_t)(ChannelState << (Channel & 0x1FU));
7595#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer in Interrupt mode.
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
Start the DMA Transfer with interrupt enabled.
#define TIM_DMA_ID_UPDATE
#define TIM_DMA_ID_TRIGGER
#define TIM_DMA_ID_COMMUTATION
void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Hall Sensor MSP.
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Hall Sensor MSP.
void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
Break detection callback in non-blocking mode.
void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim)
Commutation callback in non-blocking mode.
void HAL_TIMEx_CommutHalfCpltCallback(TIM_HandleTypeDef *htim)
Commutation half complete callback in non-blocking mode.
void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Commutation half complete callback.
void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)
TIM DMA Commutation callback.
#define TIM_CLOCKSOURCE_TI1
#define TIM_CLOCKSOURCE_ITR3
#define TIM_CLOCKSOURCE_ITR0
#define TIM_CLOCKSOURCE_TI2
#define TIM_CLOCKSOURCE_INTERNAL
#define TIM_CLOCKSOURCE_ETRMODE1
#define TIM_CLOCKSOURCE_ETRMODE2
#define TIM_CLOCKSOURCE_TI1ED
#define TIM_CLOCKSOURCE_ITR1
#define TIM_CLOCKSOURCE_ITR2
HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(const TIM_HandleTypeDef *htim)
Return the TIM One Pulse Mode handle state.
HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(const TIM_HandleTypeDef *htim)
Return the TIM Input Capture handle state.
HAL_TIM_ChannelStateTypeDef HAL_TIM_GetChannelState(const TIM_HandleTypeDef *htim, uint32_t Channel)
Return actual state of the TIM channel.
HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(const TIM_HandleTypeDef *htim)
Return the TIM Base handle state.
HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(const TIM_HandleTypeDef *htim)
Return the TIM Encoder Mode handle state.
HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(const TIM_HandleTypeDef *htim)
Return the TIM PWM handle state.
HAL_TIM_ActiveChannel HAL_TIM_GetActiveChannel(const TIM_HandleTypeDef *htim)
Return the TIM Encoder Mode handle state.
HAL_TIM_DMABurstStateTypeDef HAL_TIM_DMABurstState(const TIM_HandleTypeDef *htim)
Return actual state of a DMA burst operation.
HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(const TIM_HandleTypeDef *htim)
Return the TIM OC handle state.
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim)
Stops the TIM Base generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
Initializes the TIM Time base Unit according to the specified parameters in the TIM_HandleTypeDef and...
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Base MSP.
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, const uint32_t *pData, uint16_t Length)
Starts the TIM Base generation in DMA mode.
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Base MSP.
HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim)
Stops the TIM Base generation in DMA mode.
HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim)
Stops the TIM Base generation.
HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM Base peripheral.
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)
Starts the TIM Base generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
Starts the TIM Base generation.
void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Output Compare MSP.
HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
Starts the TIM Output Compare signal generation in DMA mode.
HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation in DMA mode.
HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Output Compare signal generation.
HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim)
Initializes the TIM Output Compare according to the specified parameters in the TIM_HandleTypeDef and...
HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM peripheral.
HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation.
void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Output Compare MSP.
HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Output Compare signal generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the PWM signal generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the PWM signal generation.
HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim)
Initializes the TIM PWM Time Base according to the specified parameters in the TIM_HandleTypeDef and ...
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
Starts the TIM PWM signal generation in DMA mode.
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM PWM MSP.
HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM peripheral.
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM PWM MSP.
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the PWM signal generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM PWM signal generation in DMA mode.
HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the PWM signal generation.
HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Input Capture measurement.
void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Input Capture MSP.
HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM peripheral.
HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim)
Initializes the TIM Input Capture Time base according to the specified parameters in the TIM_HandleTy...
HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Input Capture measurement in DMA mode.
HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Input Capture measurement.
HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Input Capture measurement in interrupt mode.
HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
Starts the TIM Input Capture measurement in DMA mode.
void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Input Capture MSP.
HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Input Capture measurement in interrupt mode.
HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Starts the TIM One Pulse signal generation.
HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode)
Initializes the TIM One Pulse Time Base according to the specified parameters in the TIM_HandleTypeDe...
void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM One Pulse MSP.
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Stops the TIM One Pulse signal generation in interrupt mode.
void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM One Pulse MSP.
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Stops the TIM One Pulse signal generation.
HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM One Pulse.
HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Starts the TIM One Pulse signal generation in interrupt mode.
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Encoder Interface in DMA mode.
HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Encoder Interface.
HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Encoder Interface.
HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData1, uint32_t *pData2, uint16_t Length)
Starts the TIM Encoder Interface in DMA mode.
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Encoder Interface MSP.
HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Encoder Interface in interrupt mode.
void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Encoder Interface MSP.
HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM Encoder interface.
HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, const TIM_Encoder_InitTypeDef *sConfig)
Initializes the TIM Encoder Interface and initialize the associated handle.
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Encoder Interface in interrupt mode.
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
This function handles TIM interrupts requests.
HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_IC_InitTypeDef *sConfig, uint32_t Channel)
Initializes the TIM Input Capture Channels according to the specified parameters in the TIM_IC_InitTy...
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiWriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, const uint32_t *BurstBuffer, uint32_t BurstLength, uint32_t DataLength)
Configure the DMA Burst to transfer multiple Data from the memory to the TIM peripheral.
HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel)
Initializes the TIM PWM channels according to the specified parameters in the TIM_OC_InitTypeDef.
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, const uint32_t *BurstBuffer, uint32_t BurstLength)
Configure the DMA Burst to transfer Data from the memory to the TIM peripheral.
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength)
Configure the DMA Burst to transfer Data from the TIM peripheral to the memory.
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc)
Stop the DMA burst reading.
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro(TIM_HandleTypeDef *htim, const TIM_SlaveConfigTypeDef *sSlaveConfig)
Configures the TIM in Slave mode.
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro_IT(TIM_HandleTypeDef *htim, const TIM_SlaveConfigTypeDef *sSlaveConfig)
Configures the TIM in Slave mode in interrupt mode.
uint32_t HAL_TIM_ReadCapturedValue(const TIM_HandleTypeDef *htim, uint32_t Channel)
Read the captured value from Capture Compare unit.
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength, uint32_t DataLength)
Configure the DMA Burst to transfer Data from the TIM peripheral to the memory.
HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32_t TI1_Selection)
Selects the signal connected to the TI1 input: direct from CH1_input or a XOR combination between CH1...
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc)
Stops the TIM DMA Burst mode.
HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel)
Initializes the TIM Output Compare Channels according to the specified parameters in the TIM_OC_InitT...
HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, const TIM_ClockConfigTypeDef *sClockSourceConfig)
Configures the clock source to be used.
HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource)
Generate a software event.
HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim, const TIM_ClearInputConfigTypeDef *sClearInputConfig, uint32_t Channel)
Configures the OCRef clear feature.
HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OnePulse_InitTypeDef *sConfig, uint32_t OutputChannel, uint32_t InputChannel)
Initializes the TIM One Pulse Channels according to the specified parameters in the TIM_OnePulse_Init...
void HAL_TIM_TriggerHalfCpltCallback(TIM_HandleTypeDef *htim)
Hall Trigger detection half complete callback in non-blocking mode.
void HAL_TIM_IC_CaptureHalfCpltCallback(TIM_HandleTypeDef *htim)
Input Capture half complete callback in non-blocking mode.
void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
Output Compare callback in non-blocking mode.
void HAL_TIM_PWM_PulseFinishedHalfCpltCallback(TIM_HandleTypeDef *htim)
PWM Pulse finished half complete callback in non-blocking mode.
void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim)
Timer error callback in non-blocking mode.
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
PWM Pulse finished callback in non-blocking mode.
void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim)
Hall Trigger detection callback in non-blocking mode.
void HAL_TIM_PeriodElapsedHalfCpltCallback(TIM_HandleTypeDef *htim)
Period elapsed half complete callback in non-blocking mode.
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
Period elapsed callback in non-blocking mode.
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
Input Capture callback in non-blocking mode.
#define __HAL_TIM_MOE_ENABLE(__HANDLE__)
Enable the TIM main Output.
#define __HAL_TIM_DISABLE_DMA(__HANDLE__, __DMA__)
Disable the specified DMA request.
#define __HAL_TIM_ENABLE(__HANDLE__)
Enable the TIM peripheral.
#define __HAL_TIM_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the specified TIM interrupt flag.
#define __HAL_TIM_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the specified TIM interrupt.
#define __HAL_TIM_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the specified TIM interrupt.
#define __HAL_TIM_MOE_DISABLE(__HANDLE__)
Disable the TIM main Output.
#define __HAL_TIM_DISABLE(__HANDLE__)
Disable the TIM peripheral.
#define __HAL_TIM_ENABLE_DMA(__HANDLE__, __DMA__)
Enable the specified DMA request.
HAL_TIM_ChannelStateTypeDef
TIM Channel States definition.
HAL_TIM_DMABurstStateTypeDef
DMA Burst States definition.
HAL_TIM_ActiveChannel
HAL Active channel structures definition.
HAL_TIM_StateTypeDef
HAL State structures definition.
@ HAL_TIM_CHANNEL_STATE_READY
@ HAL_TIM_CHANNEL_STATE_RESET
@ HAL_TIM_CHANNEL_STATE_BUSY
@ HAL_DMA_BURST_STATE_BUSY
@ HAL_DMA_BURST_STATE_READY
@ HAL_DMA_BURST_STATE_RESET
@ HAL_TIM_ACTIVE_CHANNEL_1
@ HAL_TIM_ACTIVE_CHANNEL_CLEARED
@ HAL_TIM_ACTIVE_CHANNEL_4
@ HAL_TIM_ACTIVE_CHANNEL_3
@ HAL_TIM_ACTIVE_CHANNEL_2
static void TIM_TI3_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter)
Configure the TI3 as Input.
static void TIM_DMADelayPulseCplt(DMA_HandleTypeDef *hdma)
TIM DMA Delay Pulse complete callback.
void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler, uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
Configures the TIMx External Trigger (ETR).
static HAL_StatusTypeDef TIM_SlaveTimer_SetConfig(TIM_HandleTypeDef *htim, const TIM_SlaveConfigTypeDef *sSlaveConfig)
Slave Timer configuration function.
void TIM_DMACaptureHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Capture half complete callback.
static void TIM_TI4_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter)
Configure the TI4 as Input.
static void TIM_DMATriggerHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Trigger half complete callback.
void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config)
Timer Output Compare 2 configuration.
void TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma)
TIM DMA Capture complete callback.
static void TIM_DMATriggerCplt(DMA_HandleTypeDef *hdma)
TIM DMA Trigger callback.
static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource)
Selects the Input Trigger source.
void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState)
Enables or disables the TIM Capture Compare Channel x.
void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter)
Configure the TI1 as Input.
void TIM_DMADelayPulseHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Delay Pulse half complete callback.
static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config)
Timer Output Compare 4 configuration.
void TIM_DMAError(DMA_HandleTypeDef *hdma)
TIM DMA error callback.
static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config)
Timer Output Compare 3 configuration.
static void TIM_TI2_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter)
Configure the TI2 as Input.
static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config)
Timer Output Compare 1 configuration.
static void TIM_DMAPeriodElapsedHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Period Elapse half complete callback.
static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
Configure the Polarity and Filter for TI1.
static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
Configure the Polarity and Filter for TI2.
void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure)
Time Base configuration.
static void TIM_DMAPeriodElapsedCplt(DMA_HandleTypeDef *hdma)
TIM DMA Period Elapse complete callback.
#define IS_TIM_CLEARINPUT_POLARITY(__POLARITY__)
#define IS_TIM_CLEARINPUT_SOURCE(__MODE__)
#define IS_TIM_TRIGGER_SELECTION(__SELECTION__)
#define IS_TIM_IC_POLARITY(__POLARITY__)
#define IS_TIM_CHANNELS(__CHANNEL__)
#define IS_TIM_IC_FILTER(__ICFILTER__)
#define IS_TIM_OPM_MODE(__MODE__)
#define IS_TIM_IC_SELECTION(__SELECTION__)
#define TIM_CHANNEL_N_STATE_GET(__HANDLE__, __CHANNEL__)
#define IS_TIM_TRIGGERPOLARITY(__POLARITY__)
#define IS_TIM_SLAVEMODE_TRIGGER_ENABLED(__TRIGGER__)
#define IS_TIM_ENCODER_MODE(__MODE__)
#define IS_TIM_COUNTER_MODE(__MODE__)
#define IS_TIM_DMA_LENGTH(__LENGTH__)
#define IS_TIM_TI1SELECTION(__TI1SELECTION__)
#define IS_TIM_DMA_SOURCE(__SOURCE__)
#define IS_TIM_ENCODERINPUT_POLARITY(__POLARITY__)
#define IS_TIM_OCNIDLE_STATE(__STATE__)
#define IS_TIM_PWM_MODE(__MODE__)
#define TIM_CHANNEL_N_STATE_SET_ALL(__HANDLE__, __CHANNEL_STATE__)
#define IS_TIM_OCIDLE_STATE(__STATE__)
#define IS_TIM_CLOCKFILTER(__ICFILTER__)
#define IS_TIM_DMA_DATA_LENGTH(LENGTH)
#define IS_TIM_CLEARINPUT_PRESCALER(__PRESCALER__)
#define IS_TIM_IC_PRESCALER(__PRESCALER__)
#define IS_TIM_CLOCKPOLARITY(__POLARITY__)
#define TIM_CHANNEL_STATE_SET(__HANDLE__, __CHANNEL__, __CHANNEL_STATE__)
#define IS_TIM_OCN_POLARITY(__POLARITY__)
#define IS_TIM_TRIGGERFILTER(__ICFILTER__)
#define IS_TIM_OPM_CHANNELS(__CHANNEL__)
#define IS_TIM_AUTORELOAD_PRELOAD(PRELOAD)
#define TIM_CHANNEL_N_STATE_SET(__HANDLE__, __CHANNEL__, __CHANNEL_STATE__)
#define IS_TIM_TRIGGERPRESCALER(__PRESCALER__)
#define IS_TIM_OC_MODE(__MODE__)
#define IS_TIM_CLOCKDIVISION_DIV(__DIV__)
#define IS_TIM_CLOCKPRESCALER(__PRESCALER__)
#define IS_TIM_EVENT_SOURCE(__SOURCE__)
#define IS_TIM_CLOCKSOURCE(__CLOCK__)
#define TIM_CHANNEL_STATE_GET(__HANDLE__, __CHANNEL__)
#define TIM_CHANNEL_STATE_SET_ALL(__HANDLE__, __CHANNEL_STATE__)
#define IS_TIM_FAST_STATE(__STATE__)
#define IS_TIM_DMA_BASE(__BASE__)
#define IS_TIM_PERIOD(__HANDLE__, __PERIOD__)
#define IS_TIM_CLEARINPUT_FILTER(__ICFILTER__)
#define IS_TIM_SLAVE_MODE(__MODE__)
#define IS_TIM_OC_POLARITY(__POLARITY__)
#define TIM_SLAVEMODE_TRIGGER
#define TIM_SLAVEMODE_GATED
#define TIM_SLAVEMODE_EXTERNAL1
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
#define HAL_IS_BIT_SET(REG, BIT)
HAL_StatusTypeDef
HAL Status structures definition
#define __HAL_UNLOCK(__HANDLE__)
#define __HAL_LOCK(__HANDLE__)
TIM Time base Configuration Structure definition.
uint32_t AutoReloadPreload
uint32_t RepetitionCounter
Clock Configuration Handle Structure definition.
TIM Encoder Configuration Structure definition.
TIM Time Base Handle Structure definition.
DMA_HandleTypeDef * hdma[7]
__IO HAL_TIM_StateTypeDef State
TIM_Base_InitTypeDef Init
__IO HAL_TIM_DMABurstStateTypeDef DMABurstState
HAL_TIM_ActiveChannel Channel
TIM Input Capture Configuration Structure definition.
TIM Output Compare Configuration Structure definition.
TIM One Pulse Mode Configuration Structure definition.
TIM Slave configuration Structure definition.
uint32_t TriggerPrescaler
DMA handle Structure definition.
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)