Input and Output operation functions

Input and Output operation functions. More...

Functions

hal_status_t hal_dma_start (dma_handle_t *p_dma, uint32_t src_address, uint32_t dst_address, uint32_t data_length)
 Start the DMA Transfer. More...
 
hal_status_t hal_dma_start_lock (dma_handle_t *p_dma, uint32_t src_address, uint32_t dst_address, uint32_t data_length, dma_lock_config *lock_config)
 Start the DMA Transfer whit channel lock and bus lock. More...
 
hal_status_t hal_dma_start_it_dc (dma_handle_t *p_dma, uint32_t src_address, uint32_t dst_address, uint32_t data_length)
 Start the DMA Transfer with interrupt enabled & Channel Diabled. More...
 
hal_status_t hal_dma_start_it (dma_handle_t *p_dma, uint32_t src_address, uint32_t dst_address, uint32_t data_length)
 Start the DMA Transfer with interrupt enabled & Channel Enabled. More...
 
hal_status_t hal_dma_start_it_lock (dma_handle_t *p_dma, uint32_t src_address, uint32_t dst_address, uint32_t data_length, dma_lock_config *lock_config)
 Start the DMA Transfer with interrupt enabled、channel lock and bus lock. More...
 
hal_status_t hal_dma_abort (dma_handle_t *p_dma)
 Abort the DMA Transfer. More...
 
hal_status_t hal_dma_abort_it (dma_handle_t *p_dma)
 Aborts the DMA Transfer in Interrupt mode. More...
 
hal_status_t hal_dma_poll_for_transfer (dma_handle_t *p_dma, uint32_t timeout)
 Polling for transfer complete. More...
 

Detailed Description

Input and Output operation functions.

 ===============================================================================
                      #####  IO operation functions  #####
 ===============================================================================
    [..]  This section provides functions allowing to:
      (+) Configure the source, destination address and data length and Start DMA transfer
      (+) Configure the source, destination address and data length and
          Start DMA transfer with interrupt
      (+) Abort DMA transfer
      (+) Poll for transfer complete
      (+) Handle DMA interrupt request

Function Documentation

◆ hal_dma_abort()

hal_status_t hal_dma_abort ( dma_handle_t p_dma)

Abort the DMA Transfer.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_abort_it()

hal_status_t hal_dma_abort_it ( dma_handle_t p_dma)

Aborts the DMA Transfer in Interrupt mode.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_poll_for_transfer()

hal_status_t hal_dma_poll_for_transfer ( dma_handle_t p_dma,
uint32_t  timeout 
)

Polling for transfer complete.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]timeoutTimeout duration.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_start()

hal_status_t hal_dma_start ( dma_handle_t p_dma,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  data_length 
)

Start the DMA Transfer.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]src_addressThe source memory Buffer address
[in]dst_addressThe destination memory Buffer address
[in]data_lengthThe length of data to be transferred from source to destination, ranging between 0 and 4095.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_start_it()

hal_status_t hal_dma_start_it ( dma_handle_t p_dma,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  data_length 
)

Start the DMA Transfer with interrupt enabled & Channel Enabled.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]src_addressThe source memory Buffer address
[in]dst_addressThe destination memory Buffer address
[in]data_lengthThe length of data to be transferred from source to destination, ranging between 0 and 4095.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_start_it_dc()

hal_status_t hal_dma_start_it_dc ( dma_handle_t p_dma,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  data_length 
)

Start the DMA Transfer with interrupt enabled & Channel Diabled.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]src_addressThe source memory Buffer address
[in]dst_addressThe destination memory Buffer address
[in]data_lengthThe length of data to be transferred from source to destination, ranging between 0 and 4095.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_start_it_lock()

hal_status_t hal_dma_start_it_lock ( dma_handle_t p_dma,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  data_length,
dma_lock_config lock_config 
)

Start the DMA Transfer with interrupt enabled、channel lock and bus lock.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]src_addressThe source memory Buffer address
[in]dst_addressThe destination memory Buffer address
[in]data_lengthThe length of data to be transferred from source to destination, ranging between 0 and 4095.
[in]lock_configThe Config of DMA channel and bus lock.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.

◆ hal_dma_start_lock()

hal_status_t hal_dma_start_lock ( dma_handle_t p_dma,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  data_length,
dma_lock_config lock_config 
)

Start the DMA Transfer whit channel lock and bus lock.

Parameters
[in]p_dmaPointer to a DMA handle which contains the configuration information for the specified DMA Channel.
[in]src_addressThe source memory Buffer address
[in]dst_addressThe destination memory Buffer address
[in]data_lengthThe length of data to be transferred from source to destination, ranging between 0 and 4095.
[in]lock_configThe Config of DMA channel and bus lock.
Return values
HAL_OKOperation is OK.
HAL_ERRORParameter error or operation not supported.
HAL_BUSYDriver is busy.
HAL_TIMEOUTTimeout occurred.