20#ifndef STM32F4xx_HAL_TIM_EX_H
21#define STM32F4xx_HAL_TIM_EX_H
76#define TIM_TIM2_TIM8_TRGO 0x00000000U
78#define TIM_TIM2_ETH_PTP TIM_OR_ITR1_RMP_0
79#define TIM_TIM2_USBFS_SOF TIM_OR_ITR1_RMP_1
80#define TIM_TIM2_USBHS_SOF (TIM_OR_ITR1_RMP_1 | TIM_OR_ITR1_RMP_0)
83#define TIM_TIM5_GPIO 0x00000000U
84#define TIM_TIM5_LSI TIM_OR_TI4_RMP_0
85#define TIM_TIM5_LSE TIM_OR_TI4_RMP_1
86#define TIM_TIM5_RTC (TIM_OR_TI4_RMP_1 | TIM_OR_TI4_RMP_0)
88#define TIM_TIM11_GPIO 0x00000000U
89#define TIM_TIM11_HSE TIM_OR_TI1_RMP_1
91#define TIM_TIM11_SPDIFRX TIM_OR_TI1_RMP_0
94#if defined(LPTIM_OR_TIM1_ITR2_RMP) && defined(LPTIM_OR_TIM5_ITR1_RMP) && defined(LPTIM_OR_TIM5_ITR1_RMP)
95#define LPTIM_REMAP_MASK 0x10000000U
97#define TIM_TIM9_TIM3_TRGO LPTIM_REMAP_MASK
98#define TIM_TIM9_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM9_ITR1_RMP)
100#define TIM_TIM5_TIM3_TRGO LPTIM_REMAP_MASK
101#define TIM_TIM5_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM5_ITR1_RMP)
103#define TIM_TIM1_TIM3_TRGO LPTIM_REMAP_MASK
104#define TIM_TIM1_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM1_ITR2_RMP)
130#define IS_TIM_REMAP(INSTANCE, TIM_REMAP) \
131 ((((INSTANCE) == TIM2) && (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO) || \
132 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF) || \
133 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF))) || \
134 (((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_GPIO) || \
135 ((TIM_REMAP) == TIM_TIM5_LSI) || \
136 ((TIM_REMAP) == TIM_TIM5_LSE) || \
137 ((TIM_REMAP) == TIM_TIM5_RTC))) || \
138 (((INSTANCE) == TIM11) && (((TIM_REMAP) == TIM_TIM11_GPIO) || \
139 ((TIM_REMAP) == TIM_TIM11_SPDIFRX) || \
140 ((TIM_REMAP) == TIM_TIM11_HSE))))
142#if defined(LPTIM_OR_TIM1_ITR2_RMP) && defined(LPTIM_OR_TIM5_ITR1_RMP) && defined(LPTIM_OR_TIM5_ITR1_RMP)
143#define IS_TIM_REMAP(INSTANCE, TIM_REMAP) \
144 ((((INSTANCE) == TIM2) && (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO) || \
145 ((TIM_REMAP) == TIM_TIM2_ETH_PTP) || \
146 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF) || \
147 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF))) || \
148 (((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_GPIO) || \
149 ((TIM_REMAP) == TIM_TIM5_LSI) || \
150 ((TIM_REMAP) == TIM_TIM5_LSE) || \
151 ((TIM_REMAP) == TIM_TIM5_RTC))) || \
152 (((INSTANCE) == TIM11) && (((TIM_REMAP) == TIM_TIM11_GPIO) || \
153 ((TIM_REMAP) == TIM_TIM11_HSE))) || \
154 (((INSTANCE) == TIM1) && (((TIM_REMAP) == TIM_TIM1_TIM3_TRGO) || \
155 ((TIM_REMAP) == TIM_TIM1_LPTIM))) || \
156 (((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_TIM3_TRGO) || \
157 ((TIM_REMAP) == TIM_TIM5_LPTIM))) || \
158 (((INSTANCE) == TIM9) && (((TIM_REMAP) == TIM_TIM9_TIM3_TRGO) || \
159 ((TIM_REMAP) == TIM_TIM9_LPTIM))))
161#define IS_TIM_REMAP(INSTANCE, TIM_REMAP) \
162 ((((INSTANCE) == TIM2) && (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO) || \
163 ((TIM_REMAP) == TIM_TIM2_ETH_PTP) || \
164 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF) || \
165 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF))) || \
166 (((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_GPIO) || \
167 ((TIM_REMAP) == TIM_TIM5_LSI) || \
168 ((TIM_REMAP) == TIM_TIM5_LSE) || \
169 ((TIM_REMAP) == TIM_TIM5_RTC))) || \
170 (((INSTANCE) == TIM11) && (((TIM_REMAP) == TIM_TIM11_GPIO) || \
171 ((TIM_REMAP) == TIM_TIM11_HSE))))
173#define IS_TIM_REMAP(INSTANCE, TIM_REMAP) \
174 ((((INSTANCE) == TIM2) && (((TIM_REMAP) == TIM_TIM2_ETH_PTP) || \
175 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF) || \
176 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF))) || \
177 (((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_GPIO) || \
178 ((TIM_REMAP) == TIM_TIM5_LSI) || \
179 ((TIM_REMAP) == TIM_TIM5_LSE) || \
180 ((TIM_REMAP) == TIM_TIM5_RTC))) || \
181 (((INSTANCE) == TIM11) && (((TIM_REMAP) == TIM_TIM11_GPIO) || \
182 ((TIM_REMAP) == TIM_TIM11_HSE))))
185#define IS_TIM_REMAP(INSTANCE, TIM_REMAP) \
186 ((((INSTANCE) == TIM5) && (((TIM_REMAP) == TIM_TIM5_GPIO) || \
187 ((TIM_REMAP) == TIM_TIM5_LSI) || \
188 ((TIM_REMAP) == TIM_TIM5_LSE) || \
189 ((TIM_REMAP) == TIM_TIM5_RTC))) || \
190 (((INSTANCE) == TIM11) && (((TIM_REMAP) == TIM_TIM11_GPIO) || \
191 ((TIM_REMAP) == TIM_TIM11_HSE))))
291 uint32_t CommutationSource);
293 uint32_t CommutationSource);
295 uint32_t CommutationSource);
struct __DMA_HandleTypeDef DMA_HandleTypeDef
DMA handle Structure definition.
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, const TIM_HallSensor_InitTypeDef *sConfig)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim)
void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
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_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, const TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig)
HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap)
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, const TIM_MasterConfigTypeDef *sMasterConfig)
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource)
void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
void HAL_TIMEx_CommutHalfCpltCallback(TIM_HandleTypeDef *htim)
void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim)
HAL_TIM_ChannelStateTypeDef HAL_TIMEx_GetChannelNState(const TIM_HandleTypeDef *htim, uint32_t ChannelN)
HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(const TIM_HandleTypeDef *htim)
void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma)
void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)
HAL_TIM_ChannelStateTypeDef
TIM Channel States definition.
HAL_TIM_StateTypeDef
HAL State structures definition.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
TIM Break input(s) and Dead time configuration Structure definition.
TIM Hall sensor Configuration Structure definition.
uint32_t Commutation_Delay
TIM Time Base Handle Structure definition.
TIM Master configuration Structure definition.