tdse-tp4_03-adc_pwm

FIUBA - Electrónica - Taller de Sistemas Embebidos - Trabajo Práctico No 4 - Proyecto No 03
Index Commits Files Refs README
Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h (12389B)
   1 /**
   2   ******************************************************************************
   3   * @file    stm32f1xx_hal_dma_ex.h
   4   * @author  MCD Application Team
   5   * @brief   Header file of DMA HAL extension module.
   6   ******************************************************************************
   7   * @attention
   8   *
   9   * Copyright (c) 2016 STMicroelectronics.
  10   * All rights reserved.
  11   *
  12   * This software is licensed under terms that can be found in the LICENSE file in
  13   * the root directory of this software component.
  14   * If no LICENSE file comes with this software, it is provided AS-IS.
  15   *
  16   ******************************************************************************
  17   */
  18 
  19 /* Define to prevent recursive inclusion -------------------------------------*/
  20 #ifndef __STM32F1xx_HAL_DMA_EX_H
  21 #define __STM32F1xx_HAL_DMA_EX_H
  22 
  23 #ifdef __cplusplus
  24  extern "C" {
  25 #endif
  26 
  27 /* Includes ------------------------------------------------------------------*/
  28 #include "stm32f1xx_hal_def.h"
  29 
  30 /** @addtogroup STM32F1xx_HAL_Driver
  31   * @{
  32   */
  33 
  34 /** @defgroup DMAEx DMAEx
  35   * @{
  36   */
  37 
  38 /* Exported types ------------------------------------------------------------*/ 
  39 /* Exported constants --------------------------------------------------------*/
  40 /* Exported macro ------------------------------------------------------------*/
  41 /** @defgroup DMAEx_Exported_Macros DMA Extended Exported Macros
  42   * @{
  43   */
  44 /* Interrupt & Flag management */
  45 #if defined (STM32F100xE) || defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || \
  46     defined (STM32F103xG) || defined (STM32F105xC) || defined (STM32F107xC)
  47 /** @defgroup DMAEx_High_density_XL_density_Product_devices DMAEx High density and XL density product devices
  48   * @{
  49   */
  50 
  51 /**
  52   * @brief  Returns the current DMA Channel transfer complete flag.
  53   * @param  __HANDLE__: DMA handle
  54   * @retval The specified transfer complete flag index.
  55   */
  56 #define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__) \
  57 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TC1 :\
  58  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TC2 :\
  59  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TC3 :\
  60  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TC4 :\
  61  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TC5 :\
  62  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TC6 :\
  63  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel7))? DMA_FLAG_TC7 :\
  64  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_TC1 :\
  65  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_TC2 :\
  66  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_TC3 :\
  67  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_TC4 :\
  68    DMA_FLAG_TC5)
  69 
  70 /**
  71   * @brief  Returns the current DMA Channel half transfer complete flag.
  72   * @param  __HANDLE__: DMA handle
  73   * @retval The specified half transfer complete flag index.
  74   */      
  75 #define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)\
  76 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_HT1 :\
  77  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_HT2 :\
  78  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_HT3 :\
  79  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_HT4 :\
  80  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_HT5 :\
  81  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_HT6 :\
  82  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel7))? DMA_FLAG_HT7 :\
  83  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_HT1 :\
  84  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_HT2 :\
  85  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_HT3 :\
  86  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_HT4 :\
  87    DMA_FLAG_HT5)
  88 
  89 /**
  90   * @brief  Returns the current DMA Channel transfer error flag.
  91   * @param  __HANDLE__: DMA handle
  92   * @retval The specified transfer error flag index.
  93   */
  94 #define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)\
  95 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TE1 :\
  96  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TE2 :\
  97  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TE3 :\
  98  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TE4 :\
  99  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TE5 :\
 100  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TE6 :\
 101  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel7))? DMA_FLAG_TE7 :\
 102  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_TE1 :\
 103  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_TE2 :\
 104  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_TE3 :\
 105  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_TE4 :\
 106    DMA_FLAG_TE5)
 107 
 108 /**
 109   * @brief  Return the current DMA Channel Global interrupt flag.
 110   * @param  __HANDLE__: DMA handle
 111   * @retval The specified transfer error flag index.
 112   */
 113 #define __HAL_DMA_GET_GI_FLAG_INDEX(__HANDLE__)\
 114 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_GL1 :\
 115  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_GL2 :\
 116  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_GL3 :\
 117  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_GL4 :\
 118  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_GL5 :\
 119  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_GL6 :\
 120  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel7))? DMA_FLAG_GL7 :\
 121  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_GL1 :\
 122  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_GL2 :\
 123  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_GL3 :\
 124  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_GL4 :\
 125    DMA_FLAG_GL5)
 126    
 127 /**
 128   * @brief  Get the DMA Channel pending flags.
 129   * @param  __HANDLE__: DMA handle
 130   * @param  __FLAG__: Get the specified flag.
 131   *          This parameter can be any combination of the following values:
 132   *            @arg DMA_FLAG_TCx:  Transfer complete flag
 133   *            @arg DMA_FLAG_HTx:  Half transfer complete flag
 134   *            @arg DMA_FLAG_TEx:  Transfer error flag
 135   *         Where x can be 1_7 or 1_5 (depending on DMA1 or DMA2) to select the DMA Channel flag.   
 136   * @retval The state of FLAG (SET or RESET).
 137   */
 138 #define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)\
 139 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Channel7)? (DMA2->ISR & (__FLAG__)) :\
 140   (DMA1->ISR & (__FLAG__)))
 141 
 142 /**
 143   * @brief  Clears the DMA Channel pending flags.
 144   * @param  __HANDLE__: DMA handle
 145   * @param  __FLAG__: specifies the flag to clear.
 146   *          This parameter can be any combination of the following values:
 147   *            @arg DMA_FLAG_TCx:  Transfer complete flag
 148   *            @arg DMA_FLAG_HTx:  Half transfer complete flag
 149   *            @arg DMA_FLAG_TEx:  Transfer error flag
 150   *         Where x can be 1_7 or 1_5 (depending on DMA1 or DMA2) to select the DMA Channel flag.   
 151   * @retval None
 152   */
 153 #define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) \
 154 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Channel7)? (DMA2->IFCR = (__FLAG__)) :\
 155   (DMA1->IFCR = (__FLAG__)))
 156 
 157 /**
 158   * @}
 159   */
 160 
 161 #else
 162 /** @defgroup DMA_Low_density_Medium_density_Product_devices DMA Low density and Medium density product devices
 163   * @{
 164   */
 165 
 166 /**
 167   * @brief  Returns the current DMA Channel transfer complete flag.
 168   * @param  __HANDLE__: DMA handle
 169   * @retval The specified transfer complete flag index.
 170   */
 171 #define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__) \
 172 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TC1 :\
 173  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TC2 :\
 174  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TC3 :\
 175  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TC4 :\
 176  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TC5 :\
 177  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TC6 :\
 178    DMA_FLAG_TC7)
 179 
 180 /**
 181   * @brief  Return the current DMA Channel half transfer complete flag.
 182   * @param  __HANDLE__: DMA handle
 183   * @retval The specified half transfer complete flag index.
 184   */
 185 #define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)\
 186 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_HT1 :\
 187  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_HT2 :\
 188  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_HT3 :\
 189  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_HT4 :\
 190  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_HT5 :\
 191  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_HT6 :\
 192    DMA_FLAG_HT7)
 193 
 194 /**
 195   * @brief  Return the current DMA Channel transfer error flag.
 196   * @param  __HANDLE__: DMA handle
 197   * @retval The specified transfer error flag index.
 198   */
 199 #define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)\
 200 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TE1 :\
 201  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TE2 :\
 202  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TE3 :\
 203  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TE4 :\
 204  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TE5 :\
 205  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TE6 :\
 206    DMA_FLAG_TE7)
 207 
 208 /**
 209   * @brief  Return the current DMA Channel Global interrupt flag.
 210   * @param  __HANDLE__: DMA handle
 211   * @retval The specified transfer error flag index.
 212   */
 213 #define __HAL_DMA_GET_GI_FLAG_INDEX(__HANDLE__)\
 214 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_GL1 :\
 215  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_GL2 :\
 216  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_GL3 :\
 217  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_GL4 :\
 218  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_GL5 :\
 219  ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_GL6 :\
 220    DMA_FLAG_GL7)
 221 
 222 /**
 223   * @brief  Get the DMA Channel pending flags.
 224   * @param  __HANDLE__: DMA handle
 225   * @param  __FLAG__: Get the specified flag.
 226   *          This parameter can be any combination of the following values:
 227   *            @arg DMA_FLAG_TCx:  Transfer complete flag
 228   *            @arg DMA_FLAG_HTx:  Half transfer complete flag
 229   *            @arg DMA_FLAG_TEx:  Transfer error flag
 230   *            @arg DMA_FLAG_GLx:  Global interrupt flag
 231   *         Where x can be 1_7 to select the DMA Channel flag.   
 232   * @retval The state of FLAG (SET or RESET).
 233   */
 234 
 235 #define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)   (DMA1->ISR & (__FLAG__))
 236 
 237 /**
 238   * @brief  Clear the DMA Channel pending flags.
 239   * @param  __HANDLE__: DMA handle
 240   * @param  __FLAG__: specifies the flag to clear.
 241   *          This parameter can be any combination of the following values:
 242   *            @arg DMA_FLAG_TCx:  Transfer complete flag
 243   *            @arg DMA_FLAG_HTx:  Half transfer complete flag
 244   *            @arg DMA_FLAG_TEx:  Transfer error flag
 245   *            @arg DMA_FLAG_GLx:  Global interrupt flag
 246   *         Where x can be 1_7 to select the DMA Channel flag.   
 247   * @retval None
 248   */
 249 #define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) (DMA1->IFCR = (__FLAG__))
 250 
 251 /**
 252   * @}
 253   */
 254 
 255 #endif
 256   
 257 /**
 258   * @}
 259   */
 260 
 261 /**
 262   * @}
 263   */
 264 
 265 /**
 266   * @}
 267   */
 268 
 269 #ifdef __cplusplus
 270 }
 271 #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || */
 272        /* STM32F103xG || STM32F105xC || STM32F107xC */
 273 
 274 #endif /* __STM32F1xx_HAL_DMA_H */
 275