]> git.leonardobizzoni.com Git - pioneer-stm32/blob
e657a89d1ab0f2b1d95df0869a8b1c65598bcf3f
[pioneer-stm32] /
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f7xx_hal_dma_ex.h\r
4   * @author  MCD Application Team\r
5   * @brief   Header file of DMA HAL extension module.\r
6   ******************************************************************************\r
7   * @attention\r
8   *\r
9   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.\r
10   * All rights reserved.</center></h2>\r
11   *\r
12   * This software component is licensed by ST under BSD 3-Clause license,\r
13   * the "License"; You may not use this file except in compliance with the\r
14   * License. You may obtain a copy of the License at:\r
15   *                        opensource.org/licenses/BSD-3-Clause\r
16   *\r
17   ******************************************************************************\r
18   */\r
19 \r
20 /* Define to prevent recursive inclusion -------------------------------------*/\r
21 #ifndef __STM32F7xx_HAL_DMA_EX_H\r
22 #define __STM32F7xx_HAL_DMA_EX_H\r
23 \r
24 #ifdef __cplusplus\r
25  extern "C" {\r
26 #endif\r
27 \r
28 /* Includes ------------------------------------------------------------------*/\r
29 #include "stm32f7xx_hal_def.h"\r
30 \r
31 /** @addtogroup STM32F7xx_HAL_Driver\r
32   * @{\r
33   */\r
34 \r
35 /** @addtogroup DMAEx\r
36   * @{\r
37   */ \r
38 \r
39 /* Exported types ------------------------------------------------------------*/\r
40 /** @defgroup DMAEx_Exported_Types DMAEx Exported Types\r
41   * @brief DMAEx Exported types\r
42   * @{\r
43   */\r
44    \r
45 /** \r
46   * @brief  HAL DMA Memory definition  \r
47   */ \r
48 typedef enum\r
49 {\r
50   MEMORY0      = 0x00U,    /*!< Memory 0     */\r
51   MEMORY1      = 0x01U,    /*!< Memory 1     */\r
52 \r
53 }HAL_DMA_MemoryTypeDef;\r
54 \r
55 /**\r
56   * @}\r
57   */\r
58   \r
59 /* Exported constants --------------------------------------------------------*/\r
60 \r
61 /** @defgroup DMA_Exported_Constants DMA Exported Constants\r
62   * @brief    DMA Exported constants \r
63   * @{\r
64   */\r
65 \r
66 /** @defgroup DMAEx_Channel_selection DMA Channel selection\r
67   * @brief    DMAEx channel selection \r
68   * @{\r
69   */ \r
70 #define DMA_CHANNEL_0                     0x00000000U  /*!< DMA Channel 0 */\r
71 #define DMA_CHANNEL_1                     0x02000000U  /*!< DMA Channel 1 */\r
72 #define DMA_CHANNEL_2                     0x04000000U  /*!< DMA Channel 2 */\r
73 #define DMA_CHANNEL_3                     0x06000000U  /*!< DMA Channel 3 */\r
74 #define DMA_CHANNEL_4                     0x08000000U  /*!< DMA Channel 4 */\r
75 #define DMA_CHANNEL_5                     0x0A000000U  /*!< DMA Channel 5 */\r
76 #define DMA_CHANNEL_6                     0x0C000000U  /*!< DMA Channel 6 */\r
77 #define DMA_CHANNEL_7                     0x0E000000U  /*!< DMA Channel 7 */\r
78 #if defined (STM32F722xx) || defined (STM32F723xx) || defined (STM32F732xx) || defined (STM32F733xx) ||\\r
79     defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) ||\\r
80     defined (STM32F779xx) || defined (STM32F730xx)\r
81 #define DMA_CHANNEL_8                     0x10000000U  /*!< DMA Channel 8 */\r
82 #define DMA_CHANNEL_9                     0x12000000U  /*!< DMA Channel 9 */\r
83 #define DMA_CHANNEL_10                    0x14000000U  /*!< DMA Channel 10*/\r
84 #define DMA_CHANNEL_11                    0x16000000U  /*!< DMA Channel 11*/\r
85 #define DMA_CHANNEL_12                    0x18000000U  /*!< DMA Channel 12*/\r
86 #define DMA_CHANNEL_13                    0x1A000000U  /*!< DMA Channel 13*/\r
87 #define DMA_CHANNEL_14                    0x1C000000U  /*!< DMA Channel 14*/\r
88 #define DMA_CHANNEL_15                    0x1E000000U  /*!< DMA Channel 15*/\r
89 #endif /* STM32F722xx || STM32F723xx || STM32F732xx || STM32F733xx || STM32F765xx || STM32F767xx ||\r
90           STM32F769xx || STM32F777xx || STM32F779xx || STM32F730xx */\r
91 \r
92 /**\r
93   * @}\r
94   */\r
95   \r
96 /**\r
97   * @}\r
98   */  \r
99 \r
100 /* Exported functions --------------------------------------------------------*/\r
101 /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions\r
102   * @brief   DMAEx Exported functions\r
103   * @{\r
104   */\r
105 \r
106 /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions\r
107   * @brief   Extended features functions\r
108   * @{\r
109   */\r
110 \r
111 /* IO operation functions *******************************************************/\r
112 HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);\r
113 HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);\r
114 HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory);\r
115 \r
116 /**\r
117   * @}\r
118   */\r
119 /**\r
120   * @}\r
121   */\r
122   \r
123 /* Private macros ------------------------------------------------------------*/\r
124 /** @defgroup DMAEx_Private_Macros DMA Private Macros\r
125   * @brief    DMAEx private macros \r
126   * @{\r
127   */\r
128 #if defined (STM32F722xx) || defined (STM32F723xx) || defined (STM32F732xx) || defined (STM32F733xx) ||\\r
129     defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) ||\\r
130     defined (STM32F779xx) || defined (STM32F730xx)\r
131 #define IS_DMA_CHANNEL(CHANNEL) (((CHANNEL) == DMA_CHANNEL_0)  || \\r
132                                  ((CHANNEL) == DMA_CHANNEL_1)  || \\r
133                                  ((CHANNEL) == DMA_CHANNEL_2)  || \\r
134                                  ((CHANNEL) == DMA_CHANNEL_3)  || \\r
135                                  ((CHANNEL) == DMA_CHANNEL_4)  || \\r
136                                  ((CHANNEL) == DMA_CHANNEL_5)  || \\r
137                                  ((CHANNEL) == DMA_CHANNEL_6)  || \\r
138                                  ((CHANNEL) == DMA_CHANNEL_7)  || \\r
139                                  ((CHANNEL) == DMA_CHANNEL_8)  || \\r
140                                  ((CHANNEL) == DMA_CHANNEL_9)  || \\r
141                                  ((CHANNEL) == DMA_CHANNEL_10) || \\r
142                                  ((CHANNEL) == DMA_CHANNEL_11) || \\r
143                                  ((CHANNEL) == DMA_CHANNEL_12) || \\r
144                                  ((CHANNEL) == DMA_CHANNEL_13) || \\r
145                                  ((CHANNEL) == DMA_CHANNEL_14) || \\r
146                                  ((CHANNEL) == DMA_CHANNEL_15)) \r
147 #else\r
148 #define IS_DMA_CHANNEL(CHANNEL) (((CHANNEL) == DMA_CHANNEL_0) || \\r
149                                  ((CHANNEL) == DMA_CHANNEL_1) || \\r
150                                  ((CHANNEL) == DMA_CHANNEL_2) || \\r
151                                  ((CHANNEL) == DMA_CHANNEL_3) || \\r
152                                  ((CHANNEL) == DMA_CHANNEL_4) || \\r
153                                  ((CHANNEL) == DMA_CHANNEL_5) || \\r
154                                  ((CHANNEL) == DMA_CHANNEL_6) || \\r
155                                  ((CHANNEL) == DMA_CHANNEL_7))\r
156 #endif /* STM32F722xx || STM32F723xx || STM32F732xx || STM32F733xx || STM32F765xx || STM32F767xx ||\r
157           STM32F769xx || STM32F777xx || STM32F779xx || STM32F730xx*/\r
158 /**\r
159   * @}\r
160   */  \r
161          \r
162 /* Private functions ---------------------------------------------------------*/\r
163 /** @defgroup DMAEx_Private_Functions DMAEx Private Functions\r
164   * @brief DMAEx Private functions\r
165   * @{\r
166   */\r
167 /**\r
168   * @}\r
169   */\r
170 \r
171 /**\r
172   * @}\r
173   */\r
174 \r
175 /**\r
176   * @}\r
177   */\r
178 \r
179 #ifdef __cplusplus\r
180 }\r
181 #endif\r
182 \r
183 #endif /* __STM32F7xx_HAL_DMA_H */\r
184 \r
185 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r