STM32H735xx HAL User Manual
Functions
Extended features functions
DMAEx Exported Functions

Extended features functions. More...

Functions

HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart (DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength)
 Starts the multi_buffer DMA Transfer.
HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT (DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength)
 Starts the multi_buffer DMA Transfer with interrupt enabled.
HAL_StatusTypeDef HAL_DMAEx_ChangeMemory (DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory)
 Change the memory0 or memory1 address on the fly.
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync (DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig)
 Configure the DMAMUX synchronization parameters for a given DMA stream (instance).
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator (DMA_HandleTypeDef *hdma, HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig)
 Configure the DMAMUX request generator block used by the given DMA stream (instance).
HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator (DMA_HandleTypeDef *hdma)
 Enable the DMAMUX request generator block used by the given DMA stream (instance).
HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator (DMA_HandleTypeDef *hdma)
 Disable the DMAMUX request generator block used by the given DMA stream (instance).
void HAL_DMAEx_MUX_IRQHandler (DMA_HandleTypeDef *hdma)
 Handles DMAMUX interrupt request.

Detailed Description

Extended features functions.

 ===============================================================================
                #####  Extended features functions  #####
 ===============================================================================
    [..]  This section provides functions allowing to:
      (+) Configure the source, destination address and data length and
          Start MultiBuffer DMA transfer
      (+) Configure the source, destination address and data length and
          Start MultiBuffer DMA transfer with interrupt
      (+) Change on the fly the memory0 or memory1 address.
      (+) Configure the DMA_MUX Synchronization Block using HAL_DMAEx_ConfigMuxSync function.
      (+) Configure the DMA_MUX Request Generator Block using HAL_DMAEx_ConfigMuxRequestGenerator function.
      (+) Functions HAL_DMAEx_EnableMuxRequestGenerator and HAL_DMAEx_DisableMuxRequestGenerator can then be used
          to respectively enable/disable the request generator.
      (+) Handle DMAMUX interrupts using HAL_DMAEx_MUX_IRQHandler : should be called from
          the DMAMUX IRQ handler i.e DMAMUX1_OVR_IRQHandler or DMAMUX2_OVR_IRQHandler


Function Documentation

HAL_StatusTypeDef HAL_DMAEx_ChangeMemory ( DMA_HandleTypeDef hdma,
uint32_t  Address,
HAL_DMA_MemoryTypeDef  memory 
)

Change the memory0 or memory1 address on the fly.

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
Address,:The new address
memory,:the memory to be changed, This parameter can be one of the following values: MEMORY0 / MEMORY1
Note:
The MEMORY0 address can be changed only when the current transfer use MEMORY1 and the MEMORY1 address can be changed only when the current transfer use MEMORY0.
Return values:
HALstatus

Definition at line 357 of file stm32h7xx_hal_dma_ex.c.

References __DMA_HandleTypeDef::Instance, and MEMORY0.

Referenced by DCMI_DMAXferCplt().

HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator ( DMA_HandleTypeDef hdma,
HAL_DMA_MuxRequestGeneratorConfigTypeDef pRequestGeneratorConfig 
)

Configure the DMAMUX request generator block used by the given DMA stream (instance).

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
pRequestGeneratorConfig: pointer to HAL_DMA_MuxRequestGeneratorConfigTypeDef : contains the request generator parameters.
Return values:
HALstatus

Definition at line 464 of file stm32h7xx_hal_dma_ex.c.

References assert_param, __DMA_HandleTypeDef::DMAmuxRequestGen, __DMA_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_BUSY, HAL_DMA_ERROR_PARAM, HAL_DMA_STATE_READY, __DMA_HandleTypeDef::Instance, IS_BDMA_DMAMUX_REQUEST_GEN_SIGNAL_ID, IS_DMA_DMAMUX_REQUEST_GEN_SIGNAL_ID, IS_DMAMUX_REQUEST_GEN_POLARITY, IS_DMAMUX_REQUEST_GEN_REQUEST_NUMBER, HAL_DMA_MuxRequestGeneratorConfigTypeDef::Polarity, HAL_DMA_MuxRequestGeneratorConfigTypeDef::RequestNumber, HAL_DMA_MuxRequestGeneratorConfigTypeDef::SignalID, and __DMA_HandleTypeDef::State.

HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync ( DMA_HandleTypeDef hdma,
HAL_DMA_MuxSyncConfigTypeDef pSyncConfig 
)

Configure the DMAMUX synchronization parameters for a given DMA stream (instance).

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
pSyncConfig: pointer to HAL_DMA_MuxSyncConfigTypeDef : contains the DMAMUX synchronization parameters
Return values:
HALstatus

Definition at line 396 of file stm32h7xx_hal_dma_ex.c.

References assert_param, __DMA_HandleTypeDef::DMAmuxChannel, __DMA_HandleTypeDef::ErrorCode, HAL_DMA_MuxSyncConfigTypeDef::EventEnable, HAL_DMA_ERROR_BUSY, HAL_DMA_STATE_READY, __DMA_HandleTypeDef::Instance, IS_BDMA_DMAMUX_SYNC_SIGNAL_ID, IS_DMA_DMAMUX_SYNC_SIGNAL_ID, IS_DMAMUX_SYNC_EVENT, IS_DMAMUX_SYNC_POLARITY, IS_DMAMUX_SYNC_REQUEST_NUMBER, IS_DMAMUX_SYNC_STATE, HAL_DMA_MuxSyncConfigTypeDef::RequestNumber, __DMA_HandleTypeDef::State, HAL_DMA_MuxSyncConfigTypeDef::SyncEnable, HAL_DMA_MuxSyncConfigTypeDef::SyncPolarity, and HAL_DMA_MuxSyncConfigTypeDef::SyncSignalID.

Disable the DMAMUX request generator block used by the given DMA stream (instance).

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
Return values:
HALstatus

Definition at line 556 of file stm32h7xx_hal_dma_ex.c.

References assert_param, __DMA_HandleTypeDef::DMAmuxRequestGen, HAL_DMA_STATE_RESET, __DMA_HandleTypeDef::Instance, and __DMA_HandleTypeDef::State.

Enable the DMAMUX request generator block used by the given DMA stream (instance).

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
Return values:
HALstatus

Definition at line 530 of file stm32h7xx_hal_dma_ex.c.

References assert_param, __DMA_HandleTypeDef::DMAmuxRequestGen, HAL_DMA_STATE_RESET, __DMA_HandleTypeDef::Instance, and __DMA_HandleTypeDef::State.

HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart ( DMA_HandleTypeDef hdma,
uint32_t  SrcAddress,
uint32_t  DstAddress,
uint32_t  SecondMemAddress,
uint32_t  DataLength 
)

Starts the multi_buffer DMA Transfer.

Parameters:
hdma: pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
SrcAddress,:The source memory Buffer address
DstAddress,:The destination memory Buffer address
SecondMemAddress,:The second memory Buffer address in case of multi buffer Transfer
DataLength,:The length of data to be transferred from source to destination
Return values:
HALstatus

Definition at line 120 of file stm32h7xx_hal_dma_ex.c.

References __HAL_DMA_ENABLE, assert_param, DMA_InitTypeDef::Direction, DMA_MEMORY_TO_MEMORY, DMA_MultiBufferSetConfig(), __DMA_HandleTypeDef::DMAmuxChannelStatus, __DMA_HandleTypeDef::DMAmuxChannelStatusMask, __DMA_HandleTypeDef::DMAmuxRequestGen, __DMA_HandleTypeDef::DMAmuxRequestGenStatus, __DMA_HandleTypeDef::DMAmuxRequestGenStatusMask, __DMA_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_BUSY, HAL_DMA_ERROR_NONE, HAL_DMA_ERROR_NOT_SUPPORTED, HAL_DMA_STATE_BUSY, HAL_DMA_STATE_READY, __DMA_HandleTypeDef::Init, __DMA_HandleTypeDef::Instance, IS_DMA_BUFFER_SIZE, __DMA_HandleTypeDef::State, __DMA_HandleTypeDef::StreamBaseAddress, and __DMA_HandleTypeDef::StreamIndex.

HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT ( DMA_HandleTypeDef hdma,
uint32_t  SrcAddress,
uint32_t  DstAddress,
uint32_t  SecondMemAddress,
uint32_t  DataLength 
)

Starts the multi_buffer DMA Transfer with interrupt enabled.

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
SrcAddress,:The source memory Buffer address
DstAddress,:The destination memory Buffer address
SecondMemAddress,:The second memory Buffer address in case of multi buffer Transfer
DataLength,:The length of data to be transferred from source to destination
Return values:
HALstatus

Definition at line 217 of file stm32h7xx_hal_dma_ex.c.

References __HAL_DMA_ENABLE, assert_param, DMA_InitTypeDef::Direction, DMA_IT_DME, DMA_IT_FE, DMA_IT_HT, DMA_IT_TC, DMA_IT_TE, DMA_MEMORY_TO_MEMORY, DMA_MultiBufferSetConfig(), __DMA_HandleTypeDef::DMAmuxChannel, __DMA_HandleTypeDef::DMAmuxChannelStatus, __DMA_HandleTypeDef::DMAmuxChannelStatusMask, __DMA_HandleTypeDef::DMAmuxRequestGen, __DMA_HandleTypeDef::DMAmuxRequestGenStatus, __DMA_HandleTypeDef::DMAmuxRequestGenStatusMask, __DMA_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_BUSY, HAL_DMA_ERROR_NONE, HAL_DMA_ERROR_NOT_SUPPORTED, HAL_DMA_STATE_BUSY, HAL_DMA_STATE_READY, __DMA_HandleTypeDef::Init, __DMA_HandleTypeDef::Instance, IS_DMA_BUFFER_SIZE, __DMA_HandleTypeDef::State, __DMA_HandleTypeDef::StreamBaseAddress, __DMA_HandleTypeDef::StreamIndex, __DMA_HandleTypeDef::XferHalfCpltCallback, and __DMA_HandleTypeDef::XferM1HalfCpltCallback.

Referenced by HAL_DCMI_Start_DMA().

Handles DMAMUX interrupt request.

Parameters:
hdma,:pointer to a DMA_HandleTypeDef structure that contains the configuration information for the specified DMA Stream.
Return values:
None

Definition at line 582 of file stm32h7xx_hal_dma_ex.c.

References __DMA_HandleTypeDef::DMAmuxChannel, __DMA_HandleTypeDef::DMAmuxChannelStatus, __DMA_HandleTypeDef::DMAmuxChannelStatusMask, __DMA_HandleTypeDef::DMAmuxRequestGen, __DMA_HandleTypeDef::DMAmuxRequestGenStatus, __DMA_HandleTypeDef::DMAmuxRequestGenStatusMask, __DMA_HandleTypeDef::ErrorCode, HAL_DMA_ERROR_REQGEN, HAL_DMA_ERROR_SYNC, and __DMA_HandleTypeDef::XferErrorCallback.