STM32F4xx HAL Driver master
STM32CubeF4 HAL / LL Drivers API Reference
Loading...
Searching...
No Matches
stm32f4xx_hal_tim_ex.h
Go to the documentation of this file.
1
18
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32F4xx_HAL_TIM_EX_H
21#define STM32F4xx_HAL_TIM_EX_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32f4xx_hal_def.h"
29
33
37
38/* Exported types ------------------------------------------------------------*/
42
46
47typedef struct
48{
49 uint32_t IC1Polarity;
51
52 uint32_t IC1Prescaler;
54
55 uint32_t IC1Filter;
57
61
64/* End of exported types -----------------------------------------------------*/
65
66/* Exported constants --------------------------------------------------------*/
70
74#if defined (TIM2)
75#if defined(TIM8)
76#define TIM_TIM2_TIM8_TRGO 0x00000000U
77#endif /* TIM8 */
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)
81#endif /* TIM2 */
82
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)
87
88#define TIM_TIM11_GPIO 0x00000000U
89#define TIM_TIM11_HSE TIM_OR_TI1_RMP_1
90#if defined(SPDIFRX)
91#define TIM_TIM11_SPDIFRX TIM_OR_TI1_RMP_0
92#endif /* SPDIFRX*/
93
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
96
97#define TIM_TIM9_TIM3_TRGO LPTIM_REMAP_MASK
98#define TIM_TIM9_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM9_ITR1_RMP)
99
100#define TIM_TIM5_TIM3_TRGO LPTIM_REMAP_MASK
101#define TIM_TIM5_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM5_ITR1_RMP)
102
103#define TIM_TIM1_TIM3_TRGO LPTIM_REMAP_MASK
104#define TIM_TIM1_LPTIM (LPTIM_REMAP_MASK | LPTIM_OR_TIM1_ITR2_RMP)
105#endif /* LPTIM_OR_TIM1_ITR2_RMP && LPTIM_OR_TIM5_ITR1_RMP && LPTIM_OR_TIM5_ITR1_RMP */
109
113/* End of exported constants -------------------------------------------------*/
114
115/* Exported macro ------------------------------------------------------------*/
119
123/* End of exported macro -----------------------------------------------------*/
124
125/* Private macro -------------------------------------------------------------*/
129#if defined(SPDIFRX)
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))))
141#elif defined(TIM2)
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))))
160#elif defined(TIM8)
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))))
172#else
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))))
183#endif /* LPTIM_OR_TIM1_ITR2_RMP && LPTIM_OR_TIM5_ITR1_RMP && LPTIM_OR_TIM5_ITR1_RMP */
184#else
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))))
192#endif /* SPDIFRX */
193
197/* End of private macro ------------------------------------------------------*/
198
199/* Exported functions --------------------------------------------------------*/
203
208/* Timer Hall Sensor functions **********************************************/
211
214
215/* Blocking mode: Polling */
218/* Non-Blocking mode: Interrupt */
221/* Non-Blocking mode: DMA */
227
232/* Timer Complementary Output Compare functions *****************************/
233/* Blocking mode: Polling */
236
237/* Non-Blocking mode: Interrupt */
240
241/* Non-Blocking mode: DMA */
242HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData,
243 uint16_t Length);
248
253/* Timer Complementary PWM functions ****************************************/
254/* Blocking mode: Polling */
257
258/* Non-Blocking mode: Interrupt */
261/* Non-Blocking mode: DMA */
262HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData,
263 uint16_t Length);
268
273/* Timer Complementary One Pulse functions **********************************/
274/* Blocking mode: Polling */
277
278/* Non-Blocking mode: Interrupt */
284
289/* Extended Control functions ************************************************/
291 uint32_t CommutationSource);
293 uint32_t CommutationSource);
295 uint32_t CommutationSource);
297 const TIM_MasterConfigTypeDef *sMasterConfig);
299 const TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
304
309/* Extended Callback **********************************************************/
316
321/* Extended Peripheral State functions ***************************************/
327
331/* End of exported functions -------------------------------------------------*/
332
333/* Private functions----------------------------------------------------------*/
342/* End of private functions --------------------------------------------------*/
343
347
351
352#ifdef __cplusplus
353}
354#endif
355
356
357#endif /* STM32F4xx_HAL_TIM_EX_H */
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.
TIM Time Base Handle Structure definition.
TIM Master configuration Structure definition.