39 #ifndef __STM32F7xx_HAL_TIM_EX_H 40 #define __STM32F7xx_HAL_TIM_EX_H 124 #if defined (STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx) 133 } TIMEx_BreakInputConfigTypeDef;
147 #define TIM_CHANNEL_1 ((uint32_t)0x0000U) 148 #define TIM_CHANNEL_2 ((uint32_t)0x0004U) 149 #define TIM_CHANNEL_3 ((uint32_t)0x0008U) 150 #define TIM_CHANNEL_4 ((uint32_t)0x000CU) 151 #define TIM_CHANNEL_5 ((uint32_t)0x0010U) 152 #define TIM_CHANNEL_6 ((uint32_t)0x0014U) 153 #define TIM_CHANNEL_ALL ((uint32_t)0x003CU) 162 #define TIM_OCMODE_TIMING ((uint32_t)0x0000U) 163 #define TIM_OCMODE_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_0) 164 #define TIM_OCMODE_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_1) 165 #define TIM_OCMODE_TOGGLE ((uint32_t)TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) 166 #define TIM_OCMODE_PWM1 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1) 167 #define TIM_OCMODE_PWM2 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) 168 #define TIM_OCMODE_FORCED_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0) 169 #define TIM_OCMODE_FORCED_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_2) 171 #define TIM_OCMODE_RETRIGERRABLE_OPM1 ((uint32_t)TIM_CCMR1_OC1M_3) 172 #define TIM_OCMODE_RETRIGERRABLE_OPM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0) 173 #define TIM_OCMODE_COMBINED_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_2) 174 #define TIM_OCMODE_COMBINED_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_2) 175 #define TIM_OCMODE_ASSYMETRIC_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2) 176 #define TIM_OCMODE_ASSYMETRIC_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M) 184 #define TIM_TIM2_TIM8_TRGO (0x00000000U) 185 #define TIM_TIM2_ETH_PTP (0x00000400U) 186 #define TIM_TIM2_USBFS_SOF (0x00000800U) 187 #define TIM_TIM2_USBHS_SOF (0x00000C00U) 188 #define TIM_TIM5_GPIO (0x00000000U) 189 #define TIM_TIM5_LSI (0x00000040U) 190 #define TIM_TIM5_LSE (0x00000080U) 191 #define TIM_TIM5_RTC (0x000000C0U) 192 #define TIM_TIM11_GPIO (0x00000000U) 193 #define TIM_TIM11_SPDIFRX (0x00000001U) 194 #define TIM_TIM11_HSE (0x00000002U) 195 #define TIM_TIM11_MCO1 (0x00000003U) 203 #define TIM_CLEARINPUTSOURCE_ETR ((uint32_t)0x0001U) 204 #define TIM_CLEARINPUTSOURCE_OCREFCLR ((uint32_t)0x0002U) 205 #define TIM_CLEARINPUTSOURCE_NONE ((uint32_t)0x0000U) 213 #define TIM_BREAK2_DISABLE ((uint32_t)0x00000000U) 214 #define TIM_BREAK2_ENABLE ((uint32_t)TIM_BDTR_BK2E) 222 #define TIM_BREAK2POLARITY_LOW ((uint32_t)0x00000000U) 223 #define TIM_BREAK2POLARITY_HIGH (TIM_BDTR_BK2P) 231 #define TIM_GROUPCH5_NONE ((uint32_t)0x00000000U) 232 #define TIM_GROUPCH5_OC1REFC (TIM_CCR5_GC5C1) 233 #define TIM_GROUPCH5_OC2REFC (TIM_CCR5_GC5C2) 234 #define TIM_GROUPCH5_OC3REFC (TIM_CCR5_GC5C3) 242 #define TIM_TRGO2_RESET ((uint32_t)0x00000000U) 243 #define TIM_TRGO2_ENABLE ((uint32_t)(TIM_CR2_MMS2_0)) 244 #define TIM_TRGO2_UPDATE ((uint32_t)(TIM_CR2_MMS2_1)) 245 #define TIM_TRGO2_OC1 ((uint32_t)(TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) 246 #define TIM_TRGO2_OC1REF ((uint32_t)(TIM_CR2_MMS2_2)) 247 #define TIM_TRGO2_OC2REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)) 248 #define TIM_TRGO2_OC3REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1)) 249 #define TIM_TRGO2_OC4REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) 250 #define TIM_TRGO2_OC5REF ((uint32_t)(TIM_CR2_MMS2_3)) 251 #define TIM_TRGO2_OC6REF ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_0)) 252 #define TIM_TRGO2_OC4REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1)) 253 #define TIM_TRGO2_OC6REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) 254 #define TIM_TRGO2_OC4REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2)) 255 #define TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)) 256 #define TIM_TRGO2_OC5REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1)) 257 #define TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)) 265 #define TIM_SLAVEMODE_DISABLE ((uint32_t)0x0000U) 266 #define TIM_SLAVEMODE_RESET ((uint32_t)(TIM_SMCR_SMS_2)) 267 #define TIM_SLAVEMODE_GATED ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0)) 268 #define TIM_SLAVEMODE_TRIGGER ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1)) 269 #define TIM_SLAVEMODE_EXTERNAL1 ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0)) 270 #define TIM_SLAVEMODE_COMBINED_RESETTRIGGER ((uint32_t)(TIM_SMCR_SMS_3)) 274 #if defined(STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx) 278 #define TIM_BREAKINPUT_BRK ((uint32_t)0x00000001U) 279 #define TIM_BREAKINPUT_BRK2 ((uint32_t)0x00000002U) 287 #define TIM_BREAKINPUTSOURCE_BKIN ((uint32_t)0x00000001U) 288 #define TIM_BREAKINPUTSOURCE_DFSDM1 ((uint32_t)0x00000008U) 296 #define TIM_BREAKINPUTSOURCE_DISABLE ((uint32_t)0x00000000U) 297 #define TIM_BREAKINPUTSOURCE_ENABLE ((uint32_t)0x00000001U) 330 #define __HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__) \ 331 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1 = (__COMPARE__)) :\ 332 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2 = (__COMPARE__)) :\ 333 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3 = (__COMPARE__)) :\ 334 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4 = (__COMPARE__)) :\ 335 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5 = (__COMPARE__)) :\ 336 ((__HANDLE__)->Instance->CCR6 = (__COMPARE__))) 351 #define __HAL_TIM_GET_COMPARE(__HANDLE__, __CHANNEL__) \ 352 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1) :\ 353 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2) :\ 354 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3) :\ 355 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4) :\ 356 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5) :\ 357 ((__HANDLE__)->Instance->CCR6)) 452 #if defined (STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx) 492 #define IS_TIM_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \ 493 ((CHANNEL) == TIM_CHANNEL_2) || \ 494 ((CHANNEL) == TIM_CHANNEL_3) || \ 495 ((CHANNEL) == TIM_CHANNEL_4) || \ 496 ((CHANNEL) == TIM_CHANNEL_5) || \ 497 ((CHANNEL) == TIM_CHANNEL_6) || \ 498 ((CHANNEL) == TIM_CHANNEL_ALL)) 500 #define IS_TIM_PWMI_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \ 501 ((CHANNEL) == TIM_CHANNEL_2)) 503 #define IS_TIM_OPM_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \ 504 ((CHANNEL) == TIM_CHANNEL_2)) 506 #define IS_TIM_COMPLEMENTARY_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \ 507 ((CHANNEL) == TIM_CHANNEL_2) || \ 508 ((CHANNEL) == TIM_CHANNEL_3)) 509 #define IS_TIM_PWM_MODE(MODE) (((MODE) == TIM_OCMODE_PWM1) || \ 510 ((MODE) == TIM_OCMODE_PWM2) || \ 511 ((MODE) == TIM_OCMODE_COMBINED_PWM1) || \ 512 ((MODE) == TIM_OCMODE_COMBINED_PWM2) || \ 513 ((MODE) == TIM_OCMODE_ASSYMETRIC_PWM1) || \ 514 ((MODE) == TIM_OCMODE_ASSYMETRIC_PWM2)) 516 #define IS_TIM_OC_MODE(MODE) (((MODE) == TIM_OCMODE_TIMING) || \ 517 ((MODE) == TIM_OCMODE_ACTIVE) || \ 518 ((MODE) == TIM_OCMODE_INACTIVE) || \ 519 ((MODE) == TIM_OCMODE_TOGGLE) || \ 520 ((MODE) == TIM_OCMODE_FORCED_ACTIVE) || \ 521 ((MODE) == TIM_OCMODE_FORCED_INACTIVE) || \ 522 ((MODE) == TIM_OCMODE_RETRIGERRABLE_OPM1) || \ 523 ((MODE) == TIM_OCMODE_RETRIGERRABLE_OPM2)) 524 #define IS_TIM_REMAP(__TIM_REMAP__) (((__TIM_REMAP__) == TIM_TIM2_TIM8_TRGO)||\ 525 ((__TIM_REMAP__) == TIM_TIM2_ETH_PTP)||\ 526 ((__TIM_REMAP__) == TIM_TIM2_USBFS_SOF)||\ 527 ((__TIM_REMAP__) == TIM_TIM2_USBHS_SOF)||\ 528 ((__TIM_REMAP__) == TIM_TIM5_GPIO)||\ 529 ((__TIM_REMAP__) == TIM_TIM5_LSI)||\ 530 ((__TIM_REMAP__) == TIM_TIM5_LSE)||\ 531 ((__TIM_REMAP__) == TIM_TIM5_RTC)||\ 532 ((__TIM_REMAP__) == TIM_TIM11_GPIO)||\ 533 ((__TIM_REMAP__) == TIM_TIM11_SPDIFRX)||\ 534 ((__TIM_REMAP__) == TIM_TIM11_HSE)||\ 535 ((__TIM_REMAP__) == TIM_TIM11_MCO1)) 536 #define IS_TIM_DEADTIME(__DEADTIME__) ((__DEADTIME__) <= 0xFF) 537 #define IS_TIM_BREAK_FILTER(__FILTER__) ((__FILTER__) <= 0xF) 538 #define IS_TIM_CLEARINPUT_SOURCE(MODE) (((MODE) == TIM_CLEARINPUTSOURCE_ETR) || \ 539 ((MODE) == TIM_CLEARINPUTSOURCE_OCREFCLR) || \ 540 ((MODE) == TIM_CLEARINPUTSOURCE_NONE)) 541 #define IS_TIM_BREAK2_STATE(STATE) (((STATE) == TIM_BREAK2_ENABLE) || \ 542 ((STATE) == TIM_BREAK2_DISABLE)) 543 #define IS_TIM_BREAK2_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAK2POLARITY_LOW) || \ 544 ((__POLARITY__) == TIM_BREAK2POLARITY_HIGH)) 545 #define IS_TIM_GROUPCH5(OCREF) ((((OCREF) & 0x1FFFFFFF) == 0x00000000)) 546 #define IS_TIM_TRGO2_SOURCE(SOURCE) (((SOURCE) == TIM_TRGO2_RESET) || \ 547 ((SOURCE) == TIM_TRGO2_ENABLE) || \ 548 ((SOURCE) == TIM_TRGO2_UPDATE) || \ 549 ((SOURCE) == TIM_TRGO2_OC1) || \ 550 ((SOURCE) == TIM_TRGO2_OC1REF) || \ 551 ((SOURCE) == TIM_TRGO2_OC2REF) || \ 552 ((SOURCE) == TIM_TRGO2_OC3REF) || \ 553 ((SOURCE) == TIM_TRGO2_OC3REF) || \ 554 ((SOURCE) == TIM_TRGO2_OC4REF) || \ 555 ((SOURCE) == TIM_TRGO2_OC5REF) || \ 556 ((SOURCE) == TIM_TRGO2_OC6REF) || \ 557 ((SOURCE) == TIM_TRGO2_OC4REF_RISINGFALLING) || \ 558 ((SOURCE) == TIM_TRGO2_OC6REF_RISINGFALLING) || \ 559 ((SOURCE) == TIM_TRGO2_OC4REF_RISING_OC6REF_RISING) || \ 560 ((SOURCE) == TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING) || \ 561 ((SOURCE) == TIM_TRGO2_OC5REF_RISING_OC6REF_RISING) || \ 562 ((SOURCE) == TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING)) 563 #define IS_TIM_SLAVE_MODE(MODE) (((MODE) == TIM_SLAVEMODE_DISABLE) || \ 564 ((MODE) == TIM_SLAVEMODE_RESET) || \ 565 ((MODE) == TIM_SLAVEMODE_GATED) || \ 566 ((MODE) == TIM_SLAVEMODE_TRIGGER) || \ 567 ((MODE) == TIM_SLAVEMODE_EXTERNAL1) || \ 568 ((MODE) == TIM_SLAVEMODE_COMBINED_RESETTRIGGER)) 570 #if defined (STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx) 571 #define IS_TIM_BREAKINPUT(__BREAKINPUT__) (((__BREAKINPUT__) == TIM_BREAKINPUT_BRK) || \ 572 ((__BREAKINPUT__) == TIM_BREAKINPUT_BRK2)) 574 #define IS_TIM_BREAKINPUTSOURCE(__SOURCE__) (((__SOURCE__) == TIM_BREAKINPUTSOURCE_BKIN) || \ 575 ((__SOURCE__) == TIM_BREAKINPUTSOURCE_DFSDM)) 577 #define IS_TIM_BREAKINPUTSOURCE_STATE(__STATE__) (((__STATE__) == TIM_BREAKINPUTSOURCE_DISABLE) || \ 578 ((__STATE__) == TIM_BREAKINPUTSOURCE_ENABLE)) HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim)
HAL_TIM_StateTypeDef
HAL State structures definition.
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
TIM Hall sensor Configuration Structure definition.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
TIM Master configuration Structure definition.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig)
void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t OCRef)
TIM Break input(s) and Dead time configuration Structure definition.
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
uint32_t OffStateIDLEMode
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim)
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM_HallSensor_InitTypeDef *sConfig)
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
uint32_t Commutation_Delay
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
uint32_t MasterOutputTrigger
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim)
uint32_t MasterOutputTrigger2
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
TIM Time Base Handle Structure definition.
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap)
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig)
DMA handle Structure definition.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef
HAL Status structures definition.
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length)
void HAL_TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)