]> jspc29.x-matter.uni-frankfurt.de Git - mvd_firmware.git/blob
b5dc6a80ab63ee64032ecdde2c67e06af48c0c43
[mvd_firmware.git] /
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f10x_dma.h\r
4   * @author  MCD Application Team\r
5   * @version V3.5.0\r
6   * @date    11-March-2011\r
7   * @brief   This file contains all the functions prototypes for the DMA firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>\r
20   ******************************************************************************\r
21   */\r
22 \r
23 /* Define to prevent recursive inclusion -------------------------------------*/\r
24 #ifndef __STM32F10x_DMA_H\r
25 #define __STM32F10x_DMA_H\r
26 \r
27 #ifdef __cplusplus\r
28  extern "C" {\r
29 #endif\r
30 \r
31 /* Includes ------------------------------------------------------------------*/\r
32 #include "stm32f10x.h"\r
33 \r
34 /** @addtogroup STM32F10x_StdPeriph_Driver\r
35   * @{\r
36   */\r
37 \r
38 /** @addtogroup DMA\r
39   * @{\r
40   */\r
41 \r
42 /** @defgroup DMA_Exported_Types\r
43   * @{\r
44   */\r
45 \r
46 /** \r
47   * @brief  DMA Init structure definition\r
48   */\r
49 \r
50 typedef struct\r
51 {\r
52   uint32_t DMA_PeripheralBaseAddr; /*!< Specifies the peripheral base address for DMAy Channelx. */\r
53 \r
54   uint32_t DMA_MemoryBaseAddr;     /*!< Specifies the memory base address for DMAy Channelx. */\r
55 \r
56   uint32_t DMA_DIR;                /*!< Specifies if the peripheral is the source or destination.\r
57                                         This parameter can be a value of @ref DMA_data_transfer_direction */\r
58 \r
59   uint32_t DMA_BufferSize;         /*!< Specifies the buffer size, in data unit, of the specified Channel. \r
60                                         The data unit is equal to the configuration set in DMA_PeripheralDataSize\r
61                                         or DMA_MemoryDataSize members depending in the transfer direction. */\r
62 \r
63   uint32_t DMA_PeripheralInc;      /*!< Specifies whether the Peripheral address register is incremented or not.\r
64                                         This parameter can be a value of @ref DMA_peripheral_incremented_mode */\r
65 \r
66   uint32_t DMA_MemoryInc;          /*!< Specifies whether the memory address register is incremented or not.\r
67                                         This parameter can be a value of @ref DMA_memory_incremented_mode */\r
68 \r
69   uint32_t DMA_PeripheralDataSize; /*!< Specifies the Peripheral data width.\r
70                                         This parameter can be a value of @ref DMA_peripheral_data_size */\r
71 \r
72   uint32_t DMA_MemoryDataSize;     /*!< Specifies the Memory data width.\r
73                                         This parameter can be a value of @ref DMA_memory_data_size */\r
74 \r
75   uint32_t DMA_Mode;               /*!< Specifies the operation mode of the DMAy Channelx.\r
76                                         This parameter can be a value of @ref DMA_circular_normal_mode.\r
77                                         @note: The circular buffer mode cannot be used if the memory-to-memory\r
78                                               data transfer is configured on the selected Channel */\r
79 \r
80   uint32_t DMA_Priority;           /*!< Specifies the software priority for the DMAy Channelx.\r
81                                         This parameter can be a value of @ref DMA_priority_level */\r
82 \r
83   uint32_t DMA_M2M;                /*!< Specifies if the DMAy Channelx will be used in memory-to-memory transfer.\r
84                                         This parameter can be a value of @ref DMA_memory_to_memory */\r
85 }DMA_InitTypeDef;\r
86 \r
87 /**\r
88   * @}\r
89   */\r
90 \r
91 /** @defgroup DMA_Exported_Constants\r
92   * @{\r
93   */\r
94 \r
95 #define IS_DMA_ALL_PERIPH(PERIPH) (((PERIPH) == DMA1_Channel1) || \\r
96                                    ((PERIPH) == DMA1_Channel2) || \\r
97                                    ((PERIPH) == DMA1_Channel3) || \\r
98                                    ((PERIPH) == DMA1_Channel4) || \\r
99                                    ((PERIPH) == DMA1_Channel5) || \\r
100                                    ((PERIPH) == DMA1_Channel6) || \\r
101                                    ((PERIPH) == DMA1_Channel7) || \\r
102                                    ((PERIPH) == DMA2_Channel1) || \\r
103                                    ((PERIPH) == DMA2_Channel2) || \\r
104                                    ((PERIPH) == DMA2_Channel3) || \\r
105                                    ((PERIPH) == DMA2_Channel4) || \\r
106                                    ((PERIPH) == DMA2_Channel5))\r
107 \r
108 /** @defgroup DMA_data_transfer_direction \r
109   * @{\r
110   */\r
111 \r
112 #define DMA_DIR_PeripheralDST              ((uint32_t)0x00000010)\r
113 #define DMA_DIR_PeripheralSRC              ((uint32_t)0x00000000)\r
114 #define IS_DMA_DIR(DIR) (((DIR) == DMA_DIR_PeripheralDST) || \\r
115                          ((DIR) == DMA_DIR_PeripheralSRC))\r
116 /**\r
117   * @}\r
118   */\r
119 \r
120 /** @defgroup DMA_peripheral_incremented_mode \r
121   * @{\r
122   */\r
123 \r
124 #define DMA_PeripheralInc_Enable           ((uint32_t)0x00000040)\r
125 #define DMA_PeripheralInc_Disable          ((uint32_t)0x00000000)\r
126 #define IS_DMA_PERIPHERAL_INC_STATE(STATE) (((STATE) == DMA_PeripheralInc_Enable) || \\r
127                                             ((STATE) == DMA_PeripheralInc_Disable))\r
128 /**\r
129   * @}\r
130   */\r
131 \r
132 /** @defgroup DMA_memory_incremented_mode \r
133   * @{\r
134   */\r
135 \r
136 #define DMA_MemoryInc_Enable               ((uint32_t)0x00000080)\r
137 #define DMA_MemoryInc_Disable              ((uint32_t)0x00000000)\r
138 #define IS_DMA_MEMORY_INC_STATE(STATE) (((STATE) == DMA_MemoryInc_Enable) || \\r
139                                         ((STATE) == DMA_MemoryInc_Disable))\r
140 /**\r
141   * @}\r
142   */\r
143 \r
144 /** @defgroup DMA_peripheral_data_size \r
145   * @{\r
146   */\r
147 \r
148 #define DMA_PeripheralDataSize_Byte        ((uint32_t)0x00000000)\r
149 #define DMA_PeripheralDataSize_HalfWord    ((uint32_t)0x00000100)\r
150 #define DMA_PeripheralDataSize_Word        ((uint32_t)0x00000200)\r
151 #define IS_DMA_PERIPHERAL_DATA_SIZE(SIZE) (((SIZE) == DMA_PeripheralDataSize_Byte) || \\r
152                                            ((SIZE) == DMA_PeripheralDataSize_HalfWord) || \\r
153                                            ((SIZE) == DMA_PeripheralDataSize_Word))\r
154 /**\r
155   * @}\r
156   */\r
157 \r
158 /** @defgroup DMA_memory_data_size \r
159   * @{\r
160   */\r
161 \r
162 #define DMA_MemoryDataSize_Byte            ((uint32_t)0x00000000)\r
163 #define DMA_MemoryDataSize_HalfWord        ((uint32_t)0x00000400)\r
164 #define DMA_MemoryDataSize_Word            ((uint32_t)0x00000800)\r
165 #define IS_DMA_MEMORY_DATA_SIZE(SIZE) (((SIZE) == DMA_MemoryDataSize_Byte) || \\r
166                                        ((SIZE) == DMA_MemoryDataSize_HalfWord) || \\r
167                                        ((SIZE) == DMA_MemoryDataSize_Word))\r
168 /**\r
169   * @}\r
170   */\r
171 \r
172 /** @defgroup DMA_circular_normal_mode \r
173   * @{\r
174   */\r
175 \r
176 #define DMA_Mode_Circular                  ((uint32_t)0x00000020)\r
177 #define DMA_Mode_Normal                    ((uint32_t)0x00000000)\r
178 #define IS_DMA_MODE(MODE) (((MODE) == DMA_Mode_Circular) || ((MODE) == DMA_Mode_Normal))\r
179 /**\r
180   * @}\r
181   */\r
182 \r
183 /** @defgroup DMA_priority_level \r
184   * @{\r
185   */\r
186 \r
187 #define DMA_Priority_VeryHigh              ((uint32_t)0x00003000)\r
188 #define DMA_Priority_High                  ((uint32_t)0x00002000)\r
189 #define DMA_Priority_Medium                ((uint32_t)0x00001000)\r
190 #define DMA_Priority_Low                   ((uint32_t)0x00000000)\r
191 #define IS_DMA_PRIORITY(PRIORITY) (((PRIORITY) == DMA_Priority_VeryHigh) || \\r
192                                    ((PRIORITY) == DMA_Priority_High) || \\r
193                                    ((PRIORITY) == DMA_Priority_Medium) || \\r
194                                    ((PRIORITY) == DMA_Priority_Low))\r
195 /**\r
196   * @}\r
197   */\r
198 \r
199 /** @defgroup DMA_memory_to_memory \r
200   * @{\r
201   */\r
202 \r
203 #define DMA_M2M_Enable                     ((uint32_t)0x00004000)\r
204 #define DMA_M2M_Disable                    ((uint32_t)0x00000000)\r
205 #define IS_DMA_M2M_STATE(STATE) (((STATE) == DMA_M2M_Enable) || ((STATE) == DMA_M2M_Disable))\r
206 \r
207 /**\r
208   * @}\r
209   */\r
210 \r
211 /** @defgroup DMA_interrupts_definition \r
212   * @{\r
213   */\r
214 \r
215 #define DMA_IT_TC                          ((uint32_t)0x00000002)\r
216 #define DMA_IT_HT                          ((uint32_t)0x00000004)\r
217 #define DMA_IT_TE                          ((uint32_t)0x00000008)\r
218 #define IS_DMA_CONFIG_IT(IT) ((((IT) & 0xFFFFFFF1) == 0x00) && ((IT) != 0x00))\r
219 \r
220 #define DMA1_IT_GL1                        ((uint32_t)0x00000001)\r
221 #define DMA1_IT_TC1                        ((uint32_t)0x00000002)\r
222 #define DMA1_IT_HT1                        ((uint32_t)0x00000004)\r
223 #define DMA1_IT_TE1                        ((uint32_t)0x00000008)\r
224 #define DMA1_IT_GL2                        ((uint32_t)0x00000010)\r
225 #define DMA1_IT_TC2                        ((uint32_t)0x00000020)\r
226 #define DMA1_IT_HT2                        ((uint32_t)0x00000040)\r
227 #define DMA1_IT_TE2                        ((uint32_t)0x00000080)\r
228 #define DMA1_IT_GL3                        ((uint32_t)0x00000100)\r
229 #define DMA1_IT_TC3                        ((uint32_t)0x00000200)\r
230 #define DMA1_IT_HT3                        ((uint32_t)0x00000400)\r
231 #define DMA1_IT_TE3                        ((uint32_t)0x00000800)\r
232 #define DMA1_IT_GL4                        ((uint32_t)0x00001000)\r
233 #define DMA1_IT_TC4                        ((uint32_t)0x00002000)\r
234 #define DMA1_IT_HT4                        ((uint32_t)0x00004000)\r
235 #define DMA1_IT_TE4                        ((uint32_t)0x00008000)\r
236 #define DMA1_IT_GL5                        ((uint32_t)0x00010000)\r
237 #define DMA1_IT_TC5                        ((uint32_t)0x00020000)\r
238 #define DMA1_IT_HT5                        ((uint32_t)0x00040000)\r
239 #define DMA1_IT_TE5                        ((uint32_t)0x00080000)\r
240 #define DMA1_IT_GL6                        ((uint32_t)0x00100000)\r
241 #define DMA1_IT_TC6                        ((uint32_t)0x00200000)\r
242 #define DMA1_IT_HT6                        ((uint32_t)0x00400000)\r
243 #define DMA1_IT_TE6                        ((uint32_t)0x00800000)\r
244 #define DMA1_IT_GL7                        ((uint32_t)0x01000000)\r
245 #define DMA1_IT_TC7                        ((uint32_t)0x02000000)\r
246 #define DMA1_IT_HT7                        ((uint32_t)0x04000000)\r
247 #define DMA1_IT_TE7                        ((uint32_t)0x08000000)\r
248 \r
249 #define DMA2_IT_GL1                        ((uint32_t)0x10000001)\r
250 #define DMA2_IT_TC1                        ((uint32_t)0x10000002)\r
251 #define DMA2_IT_HT1                        ((uint32_t)0x10000004)\r
252 #define DMA2_IT_TE1                        ((uint32_t)0x10000008)\r
253 #define DMA2_IT_GL2                        ((uint32_t)0x10000010)\r
254 #define DMA2_IT_TC2                        ((uint32_t)0x10000020)\r
255 #define DMA2_IT_HT2                        ((uint32_t)0x10000040)\r
256 #define DMA2_IT_TE2                        ((uint32_t)0x10000080)\r
257 #define DMA2_IT_GL3                        ((uint32_t)0x10000100)\r
258 #define DMA2_IT_TC3                        ((uint32_t)0x10000200)\r
259 #define DMA2_IT_HT3                        ((uint32_t)0x10000400)\r
260 #define DMA2_IT_TE3                        ((uint32_t)0x10000800)\r
261 #define DMA2_IT_GL4                        ((uint32_t)0x10001000)\r
262 #define DMA2_IT_TC4                        ((uint32_t)0x10002000)\r
263 #define DMA2_IT_HT4                        ((uint32_t)0x10004000)\r
264 #define DMA2_IT_TE4                        ((uint32_t)0x10008000)\r
265 #define DMA2_IT_GL5                        ((uint32_t)0x10010000)\r
266 #define DMA2_IT_TC5                        ((uint32_t)0x10020000)\r
267 #define DMA2_IT_HT5                        ((uint32_t)0x10040000)\r
268 #define DMA2_IT_TE5                        ((uint32_t)0x10080000)\r
269 \r
270 #define IS_DMA_CLEAR_IT(IT) (((((IT) & 0xF0000000) == 0x00) || (((IT) & 0xEFF00000) == 0x00)) && ((IT) != 0x00))\r
271 \r
272 #define IS_DMA_GET_IT(IT) (((IT) == DMA1_IT_GL1) || ((IT) == DMA1_IT_TC1) || \\r
273                            ((IT) == DMA1_IT_HT1) || ((IT) == DMA1_IT_TE1) || \\r
274                            ((IT) == DMA1_IT_GL2) || ((IT) == DMA1_IT_TC2) || \\r
275                            ((IT) == DMA1_IT_HT2) || ((IT) == DMA1_IT_TE2) || \\r
276                            ((IT) == DMA1_IT_GL3) || ((IT) == DMA1_IT_TC3) || \\r
277                            ((IT) == DMA1_IT_HT3) || ((IT) == DMA1_IT_TE3) || \\r
278                            ((IT) == DMA1_IT_GL4) || ((IT) == DMA1_IT_TC4) || \\r
279                            ((IT) == DMA1_IT_HT4) || ((IT) == DMA1_IT_TE4) || \\r
280                            ((IT) == DMA1_IT_GL5) || ((IT) == DMA1_IT_TC5) || \\r
281                            ((IT) == DMA1_IT_HT5) || ((IT) == DMA1_IT_TE5) || \\r
282                            ((IT) == DMA1_IT_GL6) || ((IT) == DMA1_IT_TC6) || \\r
283                            ((IT) == DMA1_IT_HT6) || ((IT) == DMA1_IT_TE6) || \\r
284                            ((IT) == DMA1_IT_GL7) || ((IT) == DMA1_IT_TC7) || \\r
285                            ((IT) == DMA1_IT_HT7) || ((IT) == DMA1_IT_TE7) || \\r
286                            ((IT) == DMA2_IT_GL1) || ((IT) == DMA2_IT_TC1) || \\r
287                            ((IT) == DMA2_IT_HT1) || ((IT) == DMA2_IT_TE1) || \\r
288                            ((IT) == DMA2_IT_GL2) || ((IT) == DMA2_IT_TC2) || \\r
289                            ((IT) == DMA2_IT_HT2) || ((IT) == DMA2_IT_TE2) || \\r
290                            ((IT) == DMA2_IT_GL3) || ((IT) == DMA2_IT_TC3) || \\r
291                            ((IT) == DMA2_IT_HT3) || ((IT) == DMA2_IT_TE3) || \\r
292                            ((IT) == DMA2_IT_GL4) || ((IT) == DMA2_IT_TC4) || \\r
293                            ((IT) == DMA2_IT_HT4) || ((IT) == DMA2_IT_TE4) || \\r
294                            ((IT) == DMA2_IT_GL5) || ((IT) == DMA2_IT_TC5) || \\r
295                            ((IT) == DMA2_IT_HT5) || ((IT) == DMA2_IT_TE5))\r
296 \r
297 /**\r
298   * @}\r
299   */\r
300 \r
301 /** @defgroup DMA_flags_definition \r
302   * @{\r
303   */\r
304 #define DMA1_FLAG_GL1                      ((uint32_t)0x00000001)\r
305 #define DMA1_FLAG_TC1                      ((uint32_t)0x00000002)\r
306 #define DMA1_FLAG_HT1                      ((uint32_t)0x00000004)\r
307 #define DMA1_FLAG_TE1                      ((uint32_t)0x00000008)\r
308 #define DMA1_FLAG_GL2                      ((uint32_t)0x00000010)\r
309 #define DMA1_FLAG_TC2                      ((uint32_t)0x00000020)\r
310 #define DMA1_FLAG_HT2                      ((uint32_t)0x00000040)\r
311 #define DMA1_FLAG_TE2                      ((uint32_t)0x00000080)\r
312 #define DMA1_FLAG_GL3                      ((uint32_t)0x00000100)\r
313 #define DMA1_FLAG_TC3                      ((uint32_t)0x00000200)\r
314 #define DMA1_FLAG_HT3                      ((uint32_t)0x00000400)\r
315 #define DMA1_FLAG_TE3                      ((uint32_t)0x00000800)\r
316 #define DMA1_FLAG_GL4                      ((uint32_t)0x00001000)\r
317 #define DMA1_FLAG_TC4                      ((uint32_t)0x00002000)\r
318 #define DMA1_FLAG_HT4                      ((uint32_t)0x00004000)\r
319 #define DMA1_FLAG_TE4                      ((uint32_t)0x00008000)\r
320 #define DMA1_FLAG_GL5                      ((uint32_t)0x00010000)\r
321 #define DMA1_FLAG_TC5                      ((uint32_t)0x00020000)\r
322 #define DMA1_FLAG_HT5                      ((uint32_t)0x00040000)\r
323 #define DMA1_FLAG_TE5                      ((uint32_t)0x00080000)\r
324 #define DMA1_FLAG_GL6                      ((uint32_t)0x00100000)\r
325 #define DMA1_FLAG_TC6                      ((uint32_t)0x00200000)\r
326 #define DMA1_FLAG_HT6                      ((uint32_t)0x00400000)\r
327 #define DMA1_FLAG_TE6                      ((uint32_t)0x00800000)\r
328 #define DMA1_FLAG_GL7                      ((uint32_t)0x01000000)\r
329 #define DMA1_FLAG_TC7                      ((uint32_t)0x02000000)\r
330 #define DMA1_FLAG_HT7                      ((uint32_t)0x04000000)\r
331 #define DMA1_FLAG_TE7                      ((uint32_t)0x08000000)\r
332 \r
333 #define DMA2_FLAG_GL1                      ((uint32_t)0x10000001)\r
334 #define DMA2_FLAG_TC1                      ((uint32_t)0x10000002)\r
335 #define DMA2_FLAG_HT1                      ((uint32_t)0x10000004)\r
336 #define DMA2_FLAG_TE1                      ((uint32_t)0x10000008)\r
337 #define DMA2_FLAG_GL2                      ((uint32_t)0x10000010)\r
338 #define DMA2_FLAG_TC2                      ((uint32_t)0x10000020)\r
339 #define DMA2_FLAG_HT2                      ((uint32_t)0x10000040)\r
340 #define DMA2_FLAG_TE2                      ((uint32_t)0x10000080)\r
341 #define DMA2_FLAG_GL3                      ((uint32_t)0x10000100)\r
342 #define DMA2_FLAG_TC3                      ((uint32_t)0x10000200)\r
343 #define DMA2_FLAG_HT3                      ((uint32_t)0x10000400)\r
344 #define DMA2_FLAG_TE3                      ((uint32_t)0x10000800)\r
345 #define DMA2_FLAG_GL4                      ((uint32_t)0x10001000)\r
346 #define DMA2_FLAG_TC4                      ((uint32_t)0x10002000)\r
347 #define DMA2_FLAG_HT4                      ((uint32_t)0x10004000)\r
348 #define DMA2_FLAG_TE4                      ((uint32_t)0x10008000)\r
349 #define DMA2_FLAG_GL5                      ((uint32_t)0x10010000)\r
350 #define DMA2_FLAG_TC5                      ((uint32_t)0x10020000)\r
351 #define DMA2_FLAG_HT5                      ((uint32_t)0x10040000)\r
352 #define DMA2_FLAG_TE5                      ((uint32_t)0x10080000)\r
353 \r
354 #define IS_DMA_CLEAR_FLAG(FLAG) (((((FLAG) & 0xF0000000) == 0x00) || (((FLAG) & 0xEFF00000) == 0x00)) && ((FLAG) != 0x00))\r
355 \r
356 #define IS_DMA_GET_FLAG(FLAG) (((FLAG) == DMA1_FLAG_GL1) || ((FLAG) == DMA1_FLAG_TC1) || \\r
357                                ((FLAG) == DMA1_FLAG_HT1) || ((FLAG) == DMA1_FLAG_TE1) || \\r
358                                ((FLAG) == DMA1_FLAG_GL2) || ((FLAG) == DMA1_FLAG_TC2) || \\r
359                                ((FLAG) == DMA1_FLAG_HT2) || ((FLAG) == DMA1_FLAG_TE2) || \\r
360                                ((FLAG) == DMA1_FLAG_GL3) || ((FLAG) == DMA1_FLAG_TC3) || \\r
361                                ((FLAG) == DMA1_FLAG_HT3) || ((FLAG) == DMA1_FLAG_TE3) || \\r
362                                ((FLAG) == DMA1_FLAG_GL4) || ((FLAG) == DMA1_FLAG_TC4) || \\r
363                                ((FLAG) == DMA1_FLAG_HT4) || ((FLAG) == DMA1_FLAG_TE4) || \\r
364                                ((FLAG) == DMA1_FLAG_GL5) || ((FLAG) == DMA1_FLAG_TC5) || \\r
365                                ((FLAG) == DMA1_FLAG_HT5) || ((FLAG) == DMA1_FLAG_TE5) || \\r
366                                ((FLAG) == DMA1_FLAG_GL6) || ((FLAG) == DMA1_FLAG_TC6) || \\r
367                                ((FLAG) == DMA1_FLAG_HT6) || ((FLAG) == DMA1_FLAG_TE6) || \\r
368                                ((FLAG) == DMA1_FLAG_GL7) || ((FLAG) == DMA1_FLAG_TC7) || \\r
369                                ((FLAG) == DMA1_FLAG_HT7) || ((FLAG) == DMA1_FLAG_TE7) || \\r
370                                ((FLAG) == DMA2_FLAG_GL1) || ((FLAG) == DMA2_FLAG_TC1) || \\r
371                                ((FLAG) == DMA2_FLAG_HT1) || ((FLAG) == DMA2_FLAG_TE1) || \\r
372                                ((FLAG) == DMA2_FLAG_GL2) || ((FLAG) == DMA2_FLAG_TC2) || \\r
373                                ((FLAG) == DMA2_FLAG_HT2) || ((FLAG) == DMA2_FLAG_TE2) || \\r
374                                ((FLAG) == DMA2_FLAG_GL3) || ((FLAG) == DMA2_FLAG_TC3) || \\r
375                                ((FLAG) == DMA2_FLAG_HT3) || ((FLAG) == DMA2_FLAG_TE3) || \\r
376                                ((FLAG) == DMA2_FLAG_GL4) || ((FLAG) == DMA2_FLAG_TC4) || \\r
377                                ((FLAG) == DMA2_FLAG_HT4) || ((FLAG) == DMA2_FLAG_TE4) || \\r
378                                ((FLAG) == DMA2_FLAG_GL5) || ((FLAG) == DMA2_FLAG_TC5) || \\r
379                                ((FLAG) == DMA2_FLAG_HT5) || ((FLAG) == DMA2_FLAG_TE5))\r
380 /**\r
381   * @}\r
382   */\r
383 \r
384 /** @defgroup DMA_Buffer_Size \r
385   * @{\r
386   */\r
387 \r
388 #define IS_DMA_BUFFER_SIZE(SIZE) (((SIZE) >= 0x1) && ((SIZE) < 0x10000))\r
389 \r
390 /**\r
391   * @}\r
392   */\r
393 \r
394 /**\r
395   * @}\r
396   */\r
397 \r
398 /** @defgroup DMA_Exported_Macros\r
399   * @{\r
400   */\r
401 \r
402 /**\r
403   * @}\r
404   */\r
405 \r
406 /** @defgroup DMA_Exported_Functions\r
407   * @{\r
408   */\r
409 \r
410 void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx);\r
411 void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct);\r
412 void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct);\r
413 void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState);\r
414 void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState);\r
415 void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber); \r
416 uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx);\r
417 FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG);\r
418 void DMA_ClearFlag(uint32_t DMAy_FLAG);\r
419 ITStatus DMA_GetITStatus(uint32_t DMAy_IT);\r
420 void DMA_ClearITPendingBit(uint32_t DMAy_IT);\r
421 \r
422 #ifdef __cplusplus\r
423 }\r
424 #endif\r
425 \r
426 #endif /*__STM32F10x_DMA_H */\r
427 /**\r
428   * @}\r
429   */\r
430 \r
431 /**\r
432   * @}\r
433   */\r
434 \r
435 /**\r
436   * @}\r
437   */\r
438 \r
439 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/\r