STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches

TIM PWM functions. More...

Collaboration diagram for TIM PWM functions:

Functions

HAL_StatusTypeDef HAL_TIM_PWM_Init (TIM_HandleTypeDef *htim)
 Initializes the TIM PWM Time Base according to the specified parameters in the TIM_HandleTypeDef and initializes the associated handle.
 
HAL_StatusTypeDef HAL_TIM_PWM_DeInit (TIM_HandleTypeDef *htim)
 DeInitializes the TIM peripheral.
 
void HAL_TIM_PWM_MspInit (TIM_HandleTypeDef *htim)
 Initializes the TIM PWM MSP.
 
void HAL_TIM_PWM_MspDeInit (TIM_HandleTypeDef *htim)
 DeInitializes TIM PWM MSP.
 
HAL_StatusTypeDef HAL_TIM_PWM_Start (TIM_HandleTypeDef *htim, uint32_t Channel)
 Starts the PWM signal generation.
 
HAL_StatusTypeDef HAL_TIM_PWM_Stop (TIM_HandleTypeDef *htim, uint32_t Channel)
 Stops the PWM signal generation.
 
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT (TIM_HandleTypeDef *htim, uint32_t Channel)
 Starts the PWM signal generation in interrupt mode.
 
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT (TIM_HandleTypeDef *htim, uint32_t Channel)
 Stops the PWM signal generation in interrupt mode.
 
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA (TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
 Starts the TIM PWM signal generation in DMA mode.
 
HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA (TIM_HandleTypeDef *htim, uint32_t Channel)
 Stops the TIM PWM signal generation in DMA mode.
 

Detailed Description

TIM PWM functions.

  ==============================================================================
                          ##### TIM PWM functions #####
  ==============================================================================
  [..]
    This section provides functions allowing to:
    (+) Initialize and configure the TIM PWM.
    (+) De-initialize the TIM PWM.
    (+) Start the TIM PWM.
    (+) Stop the TIM PWM.
    (+) Start the TIM PWM and enable interrupt.
    (+) Stop the TIM PWM and disable interrupt.
    (+) Start the TIM PWM and enable DMA transfer.
    (+) Stop the TIM PWM and disable DMA transfer.

Function Documentation

◆ HAL_TIM_PWM_Init()

HAL_StatusTypeDef HAL_TIM_PWM_Init ( TIM_HandleTypeDef * htim)

#include <stm32f4xx_hal_tim.h>

Initializes the TIM PWM Time Base according to the specified parameters in the TIM_HandleTypeDef and initializes the associated handle.

Note
Switching from Center Aligned counter mode to Edge counter mode (or reverse) requires a timer reset to avoid unexpected direction due to DIR bit readonly in center aligned mode. Ex: call HAL_TIM_PWM_DeInit() before HAL_TIM_PWM_Init()
Parameters
htimTIM PWM handle
Return values
HALstatus

Definition at line 1315 of file stm32f4xx_hal_tim.c.

References assert_param, TIM_Base_InitTypeDef::AutoReloadPreload, TIM_Base_InitTypeDef::ClockDivision, TIM_Base_InitTypeDef::CounterMode, TIM_HandleTypeDef::DMABurstState, HAL_DMA_BURST_STATE_READY, HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_READY, HAL_TIM_PWM_MspInit(), HAL_TIM_STATE_BUSY, HAL_TIM_STATE_READY, HAL_TIM_STATE_RESET, HAL_UNLOCKED, TIM_HandleTypeDef::Init, TIM_HandleTypeDef::Instance, IS_TIM_AUTORELOAD_PRELOAD, IS_TIM_CLOCKDIVISION_DIV, IS_TIM_COUNTER_MODE, IS_TIM_PERIOD, TIM_HandleTypeDef::Lock, TIM_Base_InitTypeDef::Period, TIM_HandleTypeDef::State, TIM_Base_SetConfig(), TIM_CHANNEL_N_STATE_SET_ALL, and TIM_CHANNEL_STATE_SET_ALL.

◆ HAL_TIM_PWM_DeInit()

◆ HAL_TIM_PWM_MspInit()

__weak void HAL_TIM_PWM_MspInit ( TIM_HandleTypeDef * htim)

#include <stm32f4xx_hal_tim.h>

Initializes the TIM PWM MSP.

Parameters
htimTIM PWM handle
Return values
None

Definition at line 1418 of file stm32f4xx_hal_tim.c.

References UNUSED.

Referenced by HAL_TIM_PWM_Init().

◆ HAL_TIM_PWM_MspDeInit()

__weak void HAL_TIM_PWM_MspDeInit ( TIM_HandleTypeDef * htim)

#include <stm32f4xx_hal_tim.h>

DeInitializes TIM PWM MSP.

Parameters
htimTIM PWM handle
Return values
None

Definition at line 1433 of file stm32f4xx_hal_tim.c.

References UNUSED.

Referenced by HAL_TIM_PWM_DeInit().

◆ HAL_TIM_PWM_Start()

HAL_StatusTypeDef HAL_TIM_PWM_Start ( TIM_HandleTypeDef * htim,
uint32_t Channel )

#include <stm32f4xx_hal_tim.h>

Starts the PWM signal generation.

Parameters
htimTIM handle
ChannelTIM Channels to be enabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
Return values
HALstatus

Definition at line 1454 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_ENABLE, __HAL_TIM_MOE_ENABLE, assert_param, HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_BUSY, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::Instance, IS_TIM_SLAVEMODE_TRIGGER_ENABLED, TIM_CCx_ENABLE, TIM_CCxChannelCmd(), TIM_CHANNEL_STATE_GET, and TIM_CHANNEL_STATE_SET.

◆ HAL_TIM_PWM_Stop()

HAL_StatusTypeDef HAL_TIM_PWM_Stop ( TIM_HandleTypeDef * htim,
uint32_t Channel )

#include <stm32f4xx_hal_tim.h>

Stops the PWM signal generation.

Parameters
htimTIM PWM handle
ChannelTIM Channels to be disabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
Return values
HALstatus

Definition at line 1508 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_DISABLE, __HAL_TIM_MOE_DISABLE, assert_param, HAL_OK, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::Instance, TIM_CCx_DISABLE, TIM_CCxChannelCmd(), and TIM_CHANNEL_STATE_SET.

◆ HAL_TIM_PWM_Start_IT()

HAL_StatusTypeDef HAL_TIM_PWM_Start_IT ( TIM_HandleTypeDef * htim,
uint32_t Channel )

#include <stm32f4xx_hal_tim.h>

Starts the PWM signal generation in interrupt mode.

Parameters
htimTIM PWM handle
ChannelTIM Channel to be enabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
Return values
HALstatus

Definition at line 1543 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_ENABLE, __HAL_TIM_ENABLE_IT, __HAL_TIM_MOE_ENABLE, assert_param, HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_BUSY, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::Instance, IS_TIM_SLAVEMODE_TRIGGER_ENABLED, TIM_CCx_ENABLE, TIM_CCxChannelCmd(), TIM_CHANNEL_1, TIM_CHANNEL_2, TIM_CHANNEL_3, TIM_CHANNEL_4, TIM_CHANNEL_STATE_GET, TIM_CHANNEL_STATE_SET, TIM_IT_CC1, TIM_IT_CC2, TIM_IT_CC3, and TIM_IT_CC4.

◆ HAL_TIM_PWM_Stop_IT()

HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT ( TIM_HandleTypeDef * htim,
uint32_t Channel )

#include <stm32f4xx_hal_tim.h>

Stops the PWM signal generation in interrupt mode.

Parameters
htimTIM PWM handle
ChannelTIM Channels to be disabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
Return values
HALstatus

Definition at line 1636 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_DISABLE, __HAL_TIM_DISABLE_IT, __HAL_TIM_MOE_DISABLE, assert_param, HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::Instance, TIM_CCx_DISABLE, TIM_CCxChannelCmd(), TIM_CHANNEL_1, TIM_CHANNEL_2, TIM_CHANNEL_3, TIM_CHANNEL_4, TIM_CHANNEL_STATE_SET, TIM_IT_CC1, TIM_IT_CC2, TIM_IT_CC3, and TIM_IT_CC4.

◆ HAL_TIM_PWM_Start_DMA()

HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA ( TIM_HandleTypeDef * htim,
uint32_t Channel,
const uint32_t * pData,
uint16_t Length )

#include <stm32f4xx_hal_tim.h>

Starts the TIM PWM signal generation in DMA mode.

Parameters
htimTIM PWM handle
ChannelTIM Channels to be enabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
pDataThe source Buffer address.
LengthThe length of data to be transferred from memory to TIM peripheral
Return values
HALstatus

Definition at line 1713 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_ENABLE, __HAL_TIM_ENABLE_DMA, __HAL_TIM_MOE_ENABLE, assert_param, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_BUSY, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::hdma, TIM_HandleTypeDef::Instance, IS_TIM_SLAVEMODE_TRIGGER_ENABLED, TIM_CCx_ENABLE, TIM_CCxChannelCmd(), TIM_CHANNEL_1, TIM_CHANNEL_2, TIM_CHANNEL_3, TIM_CHANNEL_4, TIM_CHANNEL_STATE_GET, TIM_CHANNEL_STATE_SET, TIM_DMA_CC1, TIM_DMA_CC2, TIM_DMA_CC3, TIM_DMA_CC4, TIM_DMA_ID_CC1, TIM_DMA_ID_CC2, TIM_DMA_ID_CC3, TIM_DMA_ID_CC4, TIM_DMADelayPulseCplt(), TIM_DMADelayPulseHalfCplt(), TIM_DMAError(), __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, and __DMA_HandleTypeDef::XferHalfCpltCallback.

◆ HAL_TIM_PWM_Stop_DMA()

HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA ( TIM_HandleTypeDef * htim,
uint32_t Channel )

#include <stm32f4xx_hal_tim.h>

Stops the TIM PWM signal generation in DMA mode.

Parameters
htimTIM PWM handle
ChannelTIM Channels to be disabled This parameter can be one of the following values:
  • TIM_CHANNEL_1: TIM Channel 1 selected
  • TIM_CHANNEL_2: TIM Channel 2 selected
  • TIM_CHANNEL_3: TIM Channel 3 selected
  • TIM_CHANNEL_4: TIM Channel 4 selected
Return values
HALstatus

Definition at line 1876 of file stm32f4xx_hal_tim.c.

References __HAL_TIM_DISABLE, __HAL_TIM_DISABLE_DMA, __HAL_TIM_MOE_DISABLE, assert_param, HAL_DMA_Abort_IT(), HAL_ERROR, HAL_OK, HAL_TIM_CHANNEL_STATE_READY, TIM_HandleTypeDef::hdma, TIM_HandleTypeDef::Instance, TIM_CCx_DISABLE, TIM_CCxChannelCmd(), TIM_CHANNEL_1, TIM_CHANNEL_2, TIM_CHANNEL_3, TIM_CHANNEL_4, TIM_CHANNEL_STATE_SET, TIM_DMA_CC1, TIM_DMA_CC2, TIM_DMA_CC3, TIM_DMA_CC4, TIM_DMA_ID_CC1, TIM_DMA_ID_CC2, TIM_DMA_ID_CC3, and TIM_DMA_ID_CC4.