197 #ifdef HAL_TIM_MODULE_ENABLED
210 static void TIM_TI1_ConfigInputStage(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter);
211 static void TIM_TI2_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
212 uint32_t TIM_ICFilter);
213 static void TIM_TI2_ConfigInputStage(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter);
214 static void TIM_TI3_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
215 uint32_t TIM_ICFilter);
216 static void TIM_TI4_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
217 uint32_t TIM_ICFilter);
218 static void TIM_ITRx_SetConfig(
TIM_TypeDef *TIMx, uint32_t InputTriggerSource);
285 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
287 TIM_ResetCallback(htim);
289 if (htim->Base_MspInitCallback ==
NULL)
294 htim->Base_MspInitCallback(htim);
335 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
336 if (htim->Base_MspDeInitCallback ==
NULL)
341 htim->Base_MspDeInitCallback(htim);
539 if ((pData ==
NULL) && (Length > 0U))
667 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
669 TIM_ResetCallback(htim);
671 if (htim->OC_MspInitCallback ==
NULL)
676 htim->OC_MspInitCallback(htim);
717 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
718 if (htim->OC_MspDeInitCallback ==
NULL)
723 htim->OC_MspDeInitCallback(htim);
1048 if ((pData ==
NULL) && (Length > 0U))
1304 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1306 TIM_ResetCallback(htim);
1308 if (htim->PWM_MspInitCallback ==
NULL)
1313 htim->PWM_MspInitCallback(htim);
1354 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1355 if (htim->PWM_MspDeInitCallback ==
NULL)
1360 htim->PWM_MspDeInitCallback(htim);
1684 if ((pData ==
NULL) && (Length > 0U))
1939 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1941 TIM_ResetCallback(htim);
1943 if (htim->IC_MspInitCallback ==
NULL)
1948 htim->IC_MspInitCallback(htim);
1989 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1990 if (htim->IC_MspDeInitCallback ==
NULL)
1995 htim->IC_MspDeInitCallback(htim);
2310 if ((pData ==
NULL) && (Length > 0U))
2562 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2564 TIM_ResetCallback(htim);
2566 if (htim->OnePulse_MspInitCallback ==
NULL)
2571 htim->OnePulse_MspInitCallback(htim);
2620 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2621 if (htim->OnePulse_MspDeInitCallback ==
NULL)
2626 htim->OnePulse_MspDeInitCallback(htim);
2960 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2962 TIM_ResetCallback(htim);
2964 if (htim->Encoder_MspInitCallback ==
NULL)
2969 htim->Encoder_MspInitCallback(htim);
3051 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3052 if (htim->Encoder_MspDeInitCallback ==
NULL)
3057 htim->Encoder_MspDeInitCallback(htim);
3441 uint32_t *pData2, uint16_t Length)
3462 if ((pData1 ==
NULL) && (Length > 0U))
3487 if ((pData2 ==
NULL) && (Length > 0U))
3516 if ((((pData1 ==
NULL) || (pData2 ==
NULL))) && (Length > 0U))
3739 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3740 htim->IC_CaptureCallback(htim);
3748 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3749 htim->OC_DelayElapsedCallback(htim);
3750 htim->PWM_PulseFinishedCallback(htim);
3770 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3771 htim->IC_CaptureCallback(htim);
3779 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3780 htim->OC_DelayElapsedCallback(htim);
3781 htim->PWM_PulseFinishedCallback(htim);
3800 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3801 htim->IC_CaptureCallback(htim);
3809 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3810 htim->OC_DelayElapsedCallback(htim);
3811 htim->PWM_PulseFinishedCallback(htim);
3830 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3831 htim->IC_CaptureCallback(htim);
3839 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3840 htim->OC_DelayElapsedCallback(htim);
3841 htim->PWM_PulseFinishedCallback(htim);
3856 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3857 htim->PeriodElapsedCallback(htim);
3869 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3870 htim->BreakCallback(htim);
3882 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3883 htim->TriggerCallback(htim);
3895 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
3896 htim->CommutationCallback(htim);
3960 TIM_OC1_SetConfig(htim->
Instance, sConfig);
3980 TIM_OC3_SetConfig(htim->
Instance, sConfig);
3990 TIM_OC4_SetConfig(htim->
Instance, sConfig);
4130 TIM_OC1_SetConfig(htim->
Instance, sConfig);
4164 TIM_OC3_SetConfig(htim->
Instance, sConfig);
4181 TIM_OC4_SetConfig(htim->
Instance, sConfig);
4221 uint32_t OutputChannel, uint32_t InputChannel)
4229 if (OutputChannel != InputChannel)
4244 switch (OutputChannel)
4250 TIM_OC1_SetConfig(htim->
Instance, &temp1);
4264 switch (InputChannel)
4360 uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength)
4363 ((BurstLength) >> 8U) + 1U);
4406 uint32_t BurstRequestSrc, uint32_t *BurstBuffer,
4407 uint32_t BurstLength, uint32_t DataLength)
4422 if ((BurstBuffer ==
NULL) && (BurstLength > 0U))
4435 switch (BurstRequestSrc)
4568 htim->
Instance->
DCR = (BurstBaseAddress | BurstLength);
4588 switch (BurstRequestSrc)
4678 uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength)
4681 ((BurstLength) >> 8U) + 1U);
4724 uint32_t BurstRequestSrc, uint32_t *BurstBuffer,
4725 uint32_t BurstLength, uint32_t DataLength)
4740 if ((BurstBuffer ==
NULL) && (BurstLength > 0U))
4753 switch (BurstRequestSrc)
4886 htim->
Instance->
DCR = (BurstBaseAddress | BurstLength);
4907 switch (BurstRequestSrc)
5218 TIM_TI1_ConfigInputStage(htim->
Instance,
5234 TIM_TI2_ConfigInputStage(htim->
Instance,
5250 TIM_TI1_ConfigInputStage(htim->
Instance,
5306 tmpcr2 |= TI1_Selection;
5334 if (TIM_SlaveTimer_SetConfig(htim, sSlaveConfig) !=
HAL_OK)
5375 if (TIM_SlaveTimer_SetConfig(htim, sSlaveConfig) !=
HAL_OK)
5408 uint32_t tmpreg = 0U;
5635 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
5672 pTIM_CallbackTypeDef pCallback)
5676 if (pCallback ==
NULL)
5687 case HAL_TIM_BASE_MSPINIT_CB_ID :
5688 htim->Base_MspInitCallback = pCallback;
5691 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
5692 htim->Base_MspDeInitCallback = pCallback;
5695 case HAL_TIM_IC_MSPINIT_CB_ID :
5696 htim->IC_MspInitCallback = pCallback;
5699 case HAL_TIM_IC_MSPDEINIT_CB_ID :
5700 htim->IC_MspDeInitCallback = pCallback;
5703 case HAL_TIM_OC_MSPINIT_CB_ID :
5704 htim->OC_MspInitCallback = pCallback;
5707 case HAL_TIM_OC_MSPDEINIT_CB_ID :
5708 htim->OC_MspDeInitCallback = pCallback;
5711 case HAL_TIM_PWM_MSPINIT_CB_ID :
5712 htim->PWM_MspInitCallback = pCallback;
5715 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
5716 htim->PWM_MspDeInitCallback = pCallback;
5719 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
5720 htim->OnePulse_MspInitCallback = pCallback;
5723 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
5724 htim->OnePulse_MspDeInitCallback = pCallback;
5727 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
5728 htim->Encoder_MspInitCallback = pCallback;
5731 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
5732 htim->Encoder_MspDeInitCallback = pCallback;
5735 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
5736 htim->HallSensor_MspInitCallback = pCallback;
5739 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
5740 htim->HallSensor_MspDeInitCallback = pCallback;
5743 case HAL_TIM_PERIOD_ELAPSED_CB_ID :
5744 htim->PeriodElapsedCallback = pCallback;
5747 case HAL_TIM_PERIOD_ELAPSED_HALF_CB_ID :
5748 htim->PeriodElapsedHalfCpltCallback = pCallback;
5751 case HAL_TIM_TRIGGER_CB_ID :
5752 htim->TriggerCallback = pCallback;
5755 case HAL_TIM_TRIGGER_HALF_CB_ID :
5756 htim->TriggerHalfCpltCallback = pCallback;
5759 case HAL_TIM_IC_CAPTURE_CB_ID :
5760 htim->IC_CaptureCallback = pCallback;
5763 case HAL_TIM_IC_CAPTURE_HALF_CB_ID :
5764 htim->IC_CaptureHalfCpltCallback = pCallback;
5767 case HAL_TIM_OC_DELAY_ELAPSED_CB_ID :
5768 htim->OC_DelayElapsedCallback = pCallback;
5771 case HAL_TIM_PWM_PULSE_FINISHED_CB_ID :
5772 htim->PWM_PulseFinishedCallback = pCallback;
5775 case HAL_TIM_PWM_PULSE_FINISHED_HALF_CB_ID :
5776 htim->PWM_PulseFinishedHalfCpltCallback = pCallback;
5779 case HAL_TIM_ERROR_CB_ID :
5780 htim->ErrorCallback = pCallback;
5783 case HAL_TIM_COMMUTATION_CB_ID :
5784 htim->CommutationCallback = pCallback;
5787 case HAL_TIM_COMMUTATION_HALF_CB_ID :
5788 htim->CommutationHalfCpltCallback = pCallback;
5791 case HAL_TIM_BREAK_CB_ID :
5792 htim->BreakCallback = pCallback;
5805 case HAL_TIM_BASE_MSPINIT_CB_ID :
5806 htim->Base_MspInitCallback = pCallback;
5809 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
5810 htim->Base_MspDeInitCallback = pCallback;
5813 case HAL_TIM_IC_MSPINIT_CB_ID :
5814 htim->IC_MspInitCallback = pCallback;
5817 case HAL_TIM_IC_MSPDEINIT_CB_ID :
5818 htim->IC_MspDeInitCallback = pCallback;
5821 case HAL_TIM_OC_MSPINIT_CB_ID :
5822 htim->OC_MspInitCallback = pCallback;
5825 case HAL_TIM_OC_MSPDEINIT_CB_ID :
5826 htim->OC_MspDeInitCallback = pCallback;
5829 case HAL_TIM_PWM_MSPINIT_CB_ID :
5830 htim->PWM_MspInitCallback = pCallback;
5833 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
5834 htim->PWM_MspDeInitCallback = pCallback;
5837 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
5838 htim->OnePulse_MspInitCallback = pCallback;
5841 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
5842 htim->OnePulse_MspDeInitCallback = pCallback;
5845 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
5846 htim->Encoder_MspInitCallback = pCallback;
5849 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
5850 htim->Encoder_MspDeInitCallback = pCallback;
5853 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
5854 htim->HallSensor_MspInitCallback = pCallback;
5857 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
5858 htim->HallSensor_MspDeInitCallback = pCallback;
5925 case HAL_TIM_BASE_MSPINIT_CB_ID :
5929 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
5933 case HAL_TIM_IC_MSPINIT_CB_ID :
5937 case HAL_TIM_IC_MSPDEINIT_CB_ID :
5941 case HAL_TIM_OC_MSPINIT_CB_ID :
5945 case HAL_TIM_OC_MSPDEINIT_CB_ID :
5949 case HAL_TIM_PWM_MSPINIT_CB_ID :
5953 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
5957 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
5961 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
5965 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
5969 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
5973 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
5977 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
5981 case HAL_TIM_PERIOD_ELAPSED_CB_ID :
5985 case HAL_TIM_PERIOD_ELAPSED_HALF_CB_ID :
5989 case HAL_TIM_TRIGGER_CB_ID :
5993 case HAL_TIM_TRIGGER_HALF_CB_ID :
5997 case HAL_TIM_IC_CAPTURE_CB_ID :
6001 case HAL_TIM_IC_CAPTURE_HALF_CB_ID :
6005 case HAL_TIM_OC_DELAY_ELAPSED_CB_ID :
6009 case HAL_TIM_PWM_PULSE_FINISHED_CB_ID :
6013 case HAL_TIM_PWM_PULSE_FINISHED_HALF_CB_ID :
6017 case HAL_TIM_ERROR_CB_ID :
6021 case HAL_TIM_COMMUTATION_CB_ID :
6025 case HAL_TIM_COMMUTATION_HALF_CB_ID :
6029 case HAL_TIM_BREAK_CB_ID :
6043 case HAL_TIM_BASE_MSPINIT_CB_ID :
6047 case HAL_TIM_BASE_MSPDEINIT_CB_ID :
6051 case HAL_TIM_IC_MSPINIT_CB_ID :
6055 case HAL_TIM_IC_MSPDEINIT_CB_ID :
6059 case HAL_TIM_OC_MSPINIT_CB_ID :
6063 case HAL_TIM_OC_MSPDEINIT_CB_ID :
6067 case HAL_TIM_PWM_MSPINIT_CB_ID :
6071 case HAL_TIM_PWM_MSPDEINIT_CB_ID :
6075 case HAL_TIM_ONE_PULSE_MSPINIT_CB_ID :
6079 case HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID :
6083 case HAL_TIM_ENCODER_MSPINIT_CB_ID :
6087 case HAL_TIM_ENCODER_MSPDEINIT_CB_ID :
6091 case HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID :
6095 case HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID :
6229 return channel_state;
6291 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6292 htim->ErrorCallback(htim);
6350 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6351 htim->PWM_PulseFinishedCallback(htim);
6389 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6390 htim->PWM_PulseFinishedHalfCpltCallback(htim);
6452 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6453 htim->IC_CaptureCallback(htim);
6491 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6492 htim->IC_CaptureHalfCpltCallback(htim);
6514 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6515 htim->PeriodElapsedCallback(htim);
6530 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6531 htim->PeriodElapsedHalfCpltCallback(htim);
6551 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6552 htim->TriggerCallback(htim);
6567 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
6568 htim->TriggerHalfCpltCallback(htim);
6606 TIMx->
ARR = (uint32_t)Structure->
Period ;
6638 tmpccer = TIMx->
CCER;
6643 tmpccmrx = TIMx->
CCMR1;
6649 tmpccmrx |= OC_Config->
OCMode;
6688 TIMx->
CCMR1 = tmpccmrx;
6694 TIMx->
CCER = tmpccer;
6713 tmpccer = TIMx->
CCER;
6718 tmpccmrx = TIMx->
CCMR1;
6725 tmpccmrx |= (OC_Config->
OCMode << 8U);
6764 TIMx->
CCMR1 = tmpccmrx;
6770 TIMx->
CCER = tmpccer;
6789 tmpccer = TIMx->
CCER;
6794 tmpccmrx = TIMx->
CCMR2;
6800 tmpccmrx |= OC_Config->
OCMode;
6838 TIMx->
CCMR2 = tmpccmrx;
6844 TIMx->
CCER = tmpccer;
6863 tmpccer = TIMx->
CCER;
6868 tmpccmrx = TIMx->
CCMR2;
6875 tmpccmrx |= (OC_Config->
OCMode << 8U);
6898 TIMx->
CCMR2 = tmpccmrx;
6904 TIMx->
CCER = tmpccer;
6988 TIM_TI1_ConfigInputStage(htim->
Instance,
7002 TIM_TI2_ConfigInputStage(htim->
Instance,
7045 uint32_t TIM_ICFilter)
7052 tmpccmr1 = TIMx->
CCMR1;
7053 tmpccer = TIMx->
CCER;
7059 tmpccmr1 |= TIM_ICSelection;
7075 TIMx->
CCMR1 = tmpccmr1;
7076 TIMx->
CCER = tmpccer;
7091 static void TIM_TI1_ConfigInputStage(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
7097 tmpccer = TIMx->
CCER;
7099 tmpccmr1 = TIMx->
CCMR1;
7103 tmpccmr1 |= (TIM_ICFilter << 4U);
7107 tmpccer |= TIM_ICPolarity;
7110 TIMx->
CCMR1 = tmpccmr1;
7111 TIMx->
CCER = tmpccer;
7134 static void TIM_TI2_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
7135 uint32_t TIM_ICFilter)
7142 tmpccmr1 = TIMx->
CCMR1;
7143 tmpccer = TIMx->
CCER;
7147 tmpccmr1 |= (TIM_ICSelection << 8U);
7158 TIMx->
CCMR1 = tmpccmr1 ;
7159 TIMx->
CCER = tmpccer;
7174 static void TIM_TI2_ConfigInputStage(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
7181 tmpccmr1 = TIMx->
CCMR1;
7182 tmpccer = TIMx->
CCER;
7186 tmpccmr1 |= (TIM_ICFilter << 12U);
7190 tmpccer |= (TIM_ICPolarity << 4U);
7193 TIMx->
CCMR1 = tmpccmr1 ;
7194 TIMx->
CCER = tmpccer;
7216 static void TIM_TI3_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
7217 uint32_t TIM_ICFilter)
7224 tmpccmr2 = TIMx->
CCMR2;
7225 tmpccer = TIMx->
CCER;
7229 tmpccmr2 |= TIM_ICSelection;
7240 TIMx->
CCMR2 = tmpccmr2;
7241 TIMx->
CCER = tmpccer;
7263 static void TIM_TI4_SetConfig(
TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection,
7264 uint32_t TIM_ICFilter)
7271 tmpccmr2 = TIMx->
CCMR2;
7272 tmpccer = TIMx->
CCER;
7276 tmpccmr2 |= (TIM_ICSelection << 8U);
7287 TIMx->
CCMR2 = tmpccmr2;
7288 TIMx->
CCER = tmpccer ;
7306 static void TIM_ITRx_SetConfig(
TIM_TypeDef *TIMx, uint32_t InputTriggerSource)
7311 tmpsmcr = TIMx->
SMCR;
7317 TIMx->
SMCR = tmpsmcr;
7337 uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
7341 tmpsmcr = TIMx->
SMCR;
7347 tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U)));
7350 TIMx->
SMCR = tmpsmcr;
7380 TIMx->
CCER |= (uint32_t)(ChannelState << (Channel & 0x1FU));
7383 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)