DIY Logging Volt/Ampmeter
stm32f1xx_hal_dma.c File Reference

DMA HAL module driver. This file provides firmware functions to manage the following functionalities of the Direct Memory Access (DMA) peripheral: More...

#include "stm32f1xx_hal.h"

Go to the source code of this file.

Detailed Description

DMA HAL module driver. This file provides firmware functions to manage the following functionalities of the Direct Memory Access (DMA) peripheral:

Author
MCD Application Team
  • 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 the Reference manual for connection between peripherals
         and DMA requests.
    
     (#) For a given Channel, program the required configuration through the following parameters:
         Channel request, 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_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.
    
         (+) __HAL_DMA_ENABLE: Enable the specified DMA Channel.
         (+) __HAL_DMA_DISABLE: Disable the specified DMA Channel.
         (+) __HAL_DMA_GET_FLAG: Get the DMA Channel pending flags.
         (+) __HAL_DMA_CLEAR_FLAG: Clear the DMA Channel pending flags.
         (+) __HAL_DMA_ENABLE_IT: Enable the specified DMA Channel interrupts.
         (+) __HAL_DMA_DISABLE_IT: Disable the specified DMA Channel interrupts.
         (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Channel interrupt has occurred or not. 
    
       [..] 
        (@) You can refer to the DMA HAL driver header file for more useful macros  
Attention

© Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32f1xx_hal_dma.c.