92 #ifdef HAL_TIM_MODULE_ENABLED
101 static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelNState);
149 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
150 assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
151 assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
152 assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
153 assert_param(IS_TIM_IC_POLARITY(sConfig->
IC1Polarity));
154 assert_param(IS_TIM_PERIOD(htim, htim->Init.Period));
155 assert_param(IS_TIM_IC_PRESCALER(sConfig->
IC1Prescaler));
156 assert_param(IS_TIM_IC_FILTER(sConfig->
IC1Filter));
161 htim->Lock = HAL_UNLOCKED;
163 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
167 if (htim->HallSensor_MspInitCallback == NULL)
172 htim->HallSensor_MspInitCallback(htim);
189 htim->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC;
194 htim->Instance->CR2 |= TIM_CR2_TI1S;
197 htim->Instance->SMCR &= ~TIM_SMCR_TS;
198 htim->Instance->SMCR |= TIM_TS_TI1F_ED;
201 htim->Instance->SMCR &= ~TIM_SMCR_SMS;
202 htim->Instance->SMCR |= TIM_SLAVEMODE_RESET;
207 OC_Config.
OCMode = TIM_OCMODE_PWM2;
217 htim->Instance->CR2 &= ~TIM_CR2_MMS;
218 htim->Instance->CR2 |= TIM_TRGO_OC2REF;
243 assert_param(IS_TIM_INSTANCE(htim->Instance));
248 __HAL_TIM_DISABLE(htim);
250 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
251 if (htim->HallSensor_MspDeInitCallback == NULL)
256 htim->HallSensor_MspDeInitCallback(htim);
324 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
347 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
349 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
350 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
352 __HAL_TIM_ENABLE(htim);
357 __HAL_TIM_ENABLE(htim);
372 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
380 __HAL_TIM_DISABLE(htim);
406 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
424 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
432 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
434 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
435 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
437 __HAL_TIM_ENABLE(htim);
442 __HAL_TIM_ENABLE(htim);
457 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
465 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
468 __HAL_TIM_DISABLE(htim);
494 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
505 if ((pData == NULL) || (Length == 0U))
529 htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback =
TIM_DMAError ;
532 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t)pData, Length) != HAL_OK)
538 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
541 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
543 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
544 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
546 __HAL_TIM_ENABLE(htim);
551 __HAL_TIM_ENABLE(htim);
566 assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
575 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
580 __HAL_TIM_DISABLE(htim);
630 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
642 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
645 __HAL_TIM_MOE_ENABLE(htim);
648 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
650 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
651 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
653 __HAL_TIM_ENABLE(htim);
658 __HAL_TIM_ENABLE(htim);
679 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
682 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
685 __HAL_TIM_MOE_DISABLE(htim);
688 __HAL_TIM_DISABLE(htim);
710 HAL_StatusTypeDef status = HAL_OK;
714 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
730 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
737 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
744 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3);
754 if (status == HAL_OK)
757 __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK);
760 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
763 __HAL_TIM_MOE_ENABLE(htim);
766 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
768 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
769 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
771 __HAL_TIM_ENABLE(htim);
776 __HAL_TIM_ENABLE(htim);
797 HAL_StatusTypeDef status = HAL_OK;
801 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
808 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
815 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
822 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3);
831 if (status == HAL_OK)
834 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
837 tmpccer = htim->Instance->CCER;
838 if ((tmpccer & TIM_CCER_CCxNE_MASK) == (uint32_t)RESET)
840 __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK);
844 __HAL_TIM_MOE_DISABLE(htim);
847 __HAL_TIM_DISABLE(htim);
873 HAL_StatusTypeDef status = HAL_OK;
877 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
886 if ((pData == NULL) || (Length == 0U))
905 htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseNCplt;
909 htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = TIM_DMAErrorCCxN ;
912 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1,
919 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
926 htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = TIM_DMADelayPulseNCplt;
930 htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = TIM_DMAErrorCCxN ;
933 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2,
940 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2);
947 htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = TIM_DMADelayPulseNCplt;
951 htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = TIM_DMAErrorCCxN ;
954 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,
961 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3);
970 if (status == HAL_OK)
973 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
976 __HAL_TIM_MOE_ENABLE(htim);
979 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
981 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
982 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
984 __HAL_TIM_ENABLE(htim);
989 __HAL_TIM_ENABLE(htim);
1010 HAL_StatusTypeDef status = HAL_OK;
1013 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1020 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
1028 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2);
1036 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3);
1046 if (status == HAL_OK)
1049 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
1052 __HAL_TIM_MOE_DISABLE(htim);
1055 __HAL_TIM_DISABLE(htim);
1103 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1115 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
1118 __HAL_TIM_MOE_ENABLE(htim);
1121 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1123 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1124 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1126 __HAL_TIM_ENABLE(htim);
1131 __HAL_TIM_ENABLE(htim);
1151 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1154 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
1157 __HAL_TIM_MOE_DISABLE(htim);
1160 __HAL_TIM_DISABLE(htim);
1182 HAL_StatusTypeDef status = HAL_OK;
1186 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1202 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
1209 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
1216 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3);
1225 if (status == HAL_OK)
1228 __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK);
1231 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
1234 __HAL_TIM_MOE_ENABLE(htim);
1237 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1239 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1240 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1242 __HAL_TIM_ENABLE(htim);
1247 __HAL_TIM_ENABLE(htim);
1268 HAL_StatusTypeDef status = HAL_OK;
1272 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1279 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
1286 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
1293 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3);
1302 if (status == HAL_OK)
1305 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
1308 tmpccer = htim->Instance->CCER;
1309 if ((tmpccer & TIM_CCER_CCxNE_MASK) == (uint32_t)RESET)
1311 __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK);
1315 __HAL_TIM_MOE_DISABLE(htim);
1318 __HAL_TIM_DISABLE(htim);
1344 HAL_StatusTypeDef status = HAL_OK;
1348 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1357 if ((pData == NULL) || (Length == 0U))
1376 htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseNCplt;
1380 htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = TIM_DMAErrorCCxN ;
1383 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->CCR1,
1390 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
1397 htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = TIM_DMADelayPulseNCplt;
1401 htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = TIM_DMAErrorCCxN ;
1404 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->CCR2,
1411 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2);
1418 htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = TIM_DMADelayPulseNCplt;
1422 htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = TIM_DMAErrorCCxN ;
1425 if (
HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->CCR3,
1432 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3);
1441 if (status == HAL_OK)
1444 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
1447 __HAL_TIM_MOE_ENABLE(htim);
1450 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1452 tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1453 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1455 __HAL_TIM_ENABLE(htim);
1460 __HAL_TIM_ENABLE(htim);
1481 HAL_StatusTypeDef status = HAL_OK;
1484 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1491 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
1499 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2);
1507 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3);
1517 if (status == HAL_OK)
1520 TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
1523 __HAL_TIM_MOE_DISABLE(htim);
1526 __HAL_TIM_DISABLE(htim);
1572 uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
1579 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1597 TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE);
1601 __HAL_TIM_MOE_ENABLE(htim);
1621 uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
1624 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1627 TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE);
1631 __HAL_TIM_MOE_DISABLE(htim);
1634 __HAL_TIM_DISABLE(htim);
1660 uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
1667 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1685 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
1688 __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
1691 TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE);
1695 __HAL_TIM_MOE_ENABLE(htim);
1715 uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
1718 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1721 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
1724 __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
1727 TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE);
1731 __HAL_TIM_MOE_DISABLE(htim);
1734 __HAL_TIM_DISABLE(htim);
1793 uint32_t CommutationSource)
1796 assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1797 assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1801 if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
1802 (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
1805 htim->Instance->SMCR &= ~TIM_SMCR_TS;
1806 htim->Instance->SMCR |= InputTrigger;
1810 htim->Instance->CR2 |= TIM_CR2_CCPC;
1812 htim->Instance->CR2 &= ~TIM_CR2_CCUS;
1813 htim->Instance->CR2 |= CommutationSource;
1816 __HAL_TIM_DISABLE_IT(htim, TIM_IT_COM);
1819 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_COM);
1849 uint32_t CommutationSource)
1852 assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1853 assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1857 if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
1858 (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
1861 htim->Instance->SMCR &= ~TIM_SMCR_TS;
1862 htim->Instance->SMCR |= InputTrigger;
1866 htim->Instance->CR2 |= TIM_CR2_CCPC;
1868 htim->Instance->CR2 &= ~TIM_CR2_CCUS;
1869 htim->Instance->CR2 |= CommutationSource;
1872 __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_COM);
1875 __HAL_TIM_ENABLE_IT(htim, TIM_IT_COM);
1906 uint32_t CommutationSource)
1909 assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1910 assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1914 if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
1915 (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
1918 htim->Instance->SMCR &= ~TIM_SMCR_TS;
1919 htim->Instance->SMCR |= InputTrigger;
1923 htim->Instance->CR2 |= TIM_CR2_CCPC;
1925 htim->Instance->CR2 &= ~TIM_CR2_CCUS;
1926 htim->Instance->CR2 |= CommutationSource;
1933 htim->hdma[TIM_DMA_ID_COMMUTATION]->XferErrorCallback =
TIM_DMAError;
1936 __HAL_TIM_DISABLE_IT(htim, TIM_IT_COM);
1939 __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_COM);
1961 assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance));
1972 tmpcr2 = htim->Instance->CR2;
1975 tmpsmcr = htim->Instance->SMCR;
1978 tmpcr2 &= ~TIM_CR2_MMS;
1983 htim->Instance->CR2 = tmpcr2;
1985 if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1988 tmpsmcr &= ~TIM_SMCR_MSM;
1993 htim->Instance->SMCR = tmpsmcr;
2019 uint32_t tmpbdtr = 0U;
2022 assert_param(IS_TIM_BREAK_INSTANCE(htim->Instance));
2023 assert_param(IS_TIM_OSSR_STATE(sBreakDeadTimeConfig->
OffStateRunMode));
2025 assert_param(IS_TIM_LOCK_LEVEL(sBreakDeadTimeConfig->
LockLevel));
2026 assert_param(IS_TIM_DEADTIME(sBreakDeadTimeConfig->
DeadTime));
2027 assert_param(IS_TIM_BREAK_STATE(sBreakDeadTimeConfig->
BreakState));
2028 assert_param(IS_TIM_BREAK_POLARITY(sBreakDeadTimeConfig->
BreakPolarity));
2029 assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(sBreakDeadTimeConfig->
AutomaticOutput));
2038 MODIFY_REG(tmpbdtr, TIM_BDTR_DTG, sBreakDeadTimeConfig->
DeadTime);
2039 MODIFY_REG(tmpbdtr, TIM_BDTR_LOCK, sBreakDeadTimeConfig->
LockLevel);
2040 MODIFY_REG(tmpbdtr, TIM_BDTR_OSSI, sBreakDeadTimeConfig->
OffStateIDLEMode);
2041 MODIFY_REG(tmpbdtr, TIM_BDTR_OSSR, sBreakDeadTimeConfig->
OffStateRunMode);
2042 MODIFY_REG(tmpbdtr, TIM_BDTR_BKE, sBreakDeadTimeConfig->
BreakState);
2043 MODIFY_REG(tmpbdtr, TIM_BDTR_BKP, sBreakDeadTimeConfig->
BreakPolarity);
2044 MODIFY_REG(tmpbdtr, TIM_BDTR_AOE, sBreakDeadTimeConfig->
AutomaticOutput);
2048 htim->Instance->BDTR = tmpbdtr;
2094 assert_param(IS_TIM_REMAP(htim->Instance, Remap));
2098 #if defined(LPTIM_OR_TIM1_ITR2_RMP) && defined(LPTIM_OR_TIM5_ITR1_RMP) && defined(LPTIM_OR_TIM9_ITR1_RMP)
2099 if ((Remap & LPTIM_REMAP_MASK) == LPTIM_REMAP_MASK)
2102 __HAL_RCC_LPTIM1_CLK_ENABLE();
2103 MODIFY_REG(LPTIM1->OR,
2104 (LPTIM_OR_TIM1_ITR2_RMP | LPTIM_OR_TIM5_ITR1_RMP | LPTIM_OR_TIM9_ITR1_RMP),
2105 Remap & ~(LPTIM_REMAP_MASK));
2110 WRITE_REG(htim->Instance->OR, Remap);
2114 WRITE_REG(htim->Instance->OR, Remap);
2229 assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, ChannelN));
2231 channel_state = TIM_CHANNEL_N_STATE_GET(htim, ChannelN);
2233 return channel_state;
2260 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2261 htim->CommutationCallback(htim);
2279 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2280 htim->CommutationHalfCpltCallback(htim);
2296 if (hdma == htim->hdma[TIM_DMA_ID_CC1])
2300 if (hdma->
Init.Mode == DMA_NORMAL)
2305 else if (hdma == htim->hdma[TIM_DMA_ID_CC2])
2309 if (hdma->
Init.Mode == DMA_NORMAL)
2314 else if (hdma == htim->hdma[TIM_DMA_ID_CC3])
2318 if (hdma->
Init.Mode == DMA_NORMAL)
2328 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2329 htim->PWM_PulseFinishedCallback(htim);
2346 if (hdma == htim->hdma[TIM_DMA_ID_CC1])
2351 else if (hdma == htim->hdma[TIM_DMA_ID_CC2])
2356 else if (hdma == htim->hdma[TIM_DMA_ID_CC3])
2366 #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2367 htim->ErrorCallback(htim);
2387 static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelNState)
2391 tmp = TIM_CCER_CC1NE << (Channel & 0xFU);
2397 TIMx->CCER |= (uint32_t)(ChannelNState << (Channel & 0xFU));
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.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length)
Starts the TIM Hall Sensor Interface in DMA mode.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim)
DeInitializes the TIM Hall Sensor interface.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, const TIM_HallSensor_InitTypeDef *sConfig)
Initializes the TIM Hall Sensor Interface and initialize the associated handle.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim)
Stops the TIM Hall sensor Interface.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim)
Starts the TIM Hall Sensor Interface.
void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM Hall Sensor MSP.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
Stops the TIM Hall Sensor Interface in DMA mode.
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
DeInitializes TIM Hall Sensor MSP.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim)
Stops the TIM Hall Sensor Interface in interrupt mode.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim)
Starts the TIM Hall Sensor Interface in interrupt mode.
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation in DMA mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Output Compare signal generation in interrupt mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OCN_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 on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the TIM Output Compare signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM Output Compare signal generation in interrupt mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the PWM signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the TIM PWM signal generation in DMA mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Stops the PWM signal generation in interrupt mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
Starts the TIM PWM signal generation in DMA mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the PWM signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
Starts the PWM signal generation in interrupt mode on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Starts the TIM One Pulse signal generation in interrupt mode on the complementary channel.
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Starts the TIM One Pulse signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Stops the TIM One Pulse signal generation in interrupt mode on the complementary channel.
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
Stops the TIM One Pulse signal generation on the complementary output.
HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, const TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig)
Configures the Break feature, dead time, Lock level, OSSI/OSSR State and the AOE(automatic output ena...
HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap)
Configures the TIMx Remapping input capabilities.
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
Configure the TIM commutation event sequence with DMA.
HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, const TIM_MasterConfigTypeDef *sMasterConfig)
Configures the TIM in master mode.
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
Configure the TIM commutation event sequence.
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
Configure the TIM commutation event sequence with interrupt.
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.
HAL_TIM_ChannelStateTypeDef HAL_TIMEx_GetChannelNState(const TIM_HandleTypeDef *htim, uint32_t ChannelN)
Return actual state of the TIM complementary channel.
HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(const TIM_HandleTypeDef *htim)
Return the TIM Hall Sensor interface handle state.
uint32_t Commutation_Delay
TIM Hall sensor Configuration Structure definition.
void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Commutation half complete callback.
void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)
TIM DMA Commutation callback.
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.
uint32_t OffStateIDLEMode
uint32_t MasterOutputTrigger
HAL_TIM_ChannelStateTypeDef
TIM Channel States definition.
HAL_TIM_StateTypeDef
HAL State structures definition.
struct __TIM_HandleTypeDef else typedef struct endif TIM_HandleTypeDef
TIM Time Base Handle Structure definition.
@ HAL_TIM_CHANNEL_STATE_READY
@ HAL_TIM_CHANNEL_STATE_RESET
@ HAL_TIM_CHANNEL_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_3
@ HAL_TIM_ACTIVE_CHANNEL_2
TIM Break input(s) and Dead time configuration Structure definition.
TIM Master configuration Structure definition.
TIM Output Compare Configuration Structure definition.
void TIM_DMACaptureHalfCplt(DMA_HandleTypeDef *hdma)
TIM DMA Capture 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.
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.
void TIM_DMAError(DMA_HandleTypeDef *hdma)
TIM DMA error callback.
void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure)
Time Base configuration.
void TIM_ResetCallback(TIM_HandleTypeDef *htim)
Reset interrupt callbacks to the legacy weak callbacks.
This file contains all the functions prototypes for the HAL module driver.
DMA handle Structure definition.