My Project
Loading...
Searching...
No Matches
stm32f3xx_hal_dma.c File Reference

DMA HAL module driver. More...

#include "stm32f3xx_hal.h"

Detailed Description

DMA HAL module driver.

Author
MCD Application Team
    This file provides firmware functions to manage the following 
    functionalities of the Direct Memory Access (DMA) peripheral:
      + Initialization and de-initialization functions
      + IO operation functions
      + Peripheral State and errors functions
==============================================================================      
                      ##### How to use this driver #####
============================================================================== 
[..]
 (#) Enable and configure the peripheral to be connected to the DMA Channel
     (except for internal SRAM / FLASH memories: no initialization is 
     necessary). Please refer to Reference manual for connection between peripherals
     and DMA requests .

 (#) For a given Channel, program the required configuration through the following parameters:   
     Transfer Direction, Source and Destination data formats, 
     Circular or Normal mode, Channel Priority level, Source and Destination Increment mode, 
     using HAL_DMA_Init() function.

 (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of error 
     detection.
                  
 (#) Use HAL_DMA_Abort() function to abort the current transfer
                 
   -@-   In Memory-to-Memory transfer mode, Circular mode is not allowed.
   *** Polling mode IO operation ***
   =================================   
  [..] 
    (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source 
        address and destination address and the Length of data to be transferred
    (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this  
        case a fixed Timeout can be configured by User depending from his application.

   *** Interrupt mode IO operation ***    
   =================================== 
  [..]
    (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority()
    (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() 
    (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of  
        Source address and destination address and the Length of data to be transferred. 
        In this case the DMA interrupt is configured 
    (+) Use HAL_DMA_Channel_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine
    (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can 
        add his own function by customization of function pointer XferCpltCallback and 
        XferErrorCallback (i.e a member of DMA handle structure). 

   *** DMA HAL driver macros list ***
   ============================================= 
   [..]
     Below the list of most used macros in DMA HAL driver.

   [..] 
    (@) You can refer to the DMA HAL driver header file for more useful macros  

Attention

Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.