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