blob: ffcba5654bfdbfeb24eebe0c4c258a092925b546 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
|
////////////////////////////////////////////////////////////////////////////////
/// @file reg_dma.h
/// @author AE TEAM
/// @brief THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE SERIES OF
/// MM32 FIRMWARE LIBRARY.
////////////////////////////////////////////////////////////////////////////////
/// @attention
///
/// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
/// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
/// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
/// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
/// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
/// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
///
/// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
////////////////////////////////////////////////////////////////////////////////
// Define to prevent recursive inclusion
#ifndef __REG_DMA_H
#define __REG_DMA_H
// Files includes
#include <stdint.h>
#include <stdbool.h>
#include "types.h"
#if defined ( __CC_ARM )
#pragma anon_unions
#endif
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA Base Address Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA1_BASE (AHBPERIPH_BASE + 0x0000) ///< Base Address: 0x40020000
#define DMA1_Channel1_BASE (AHBPERIPH_BASE + 0x0008) ///< Base Address: 0x40020008
#define DMA1_Channel2_BASE (AHBPERIPH_BASE + 0x001C) ///< Base Address: 0x4002001C
#define DMA1_Channel3_BASE (AHBPERIPH_BASE + 0x0030) ///< Base Address: 0x40020030
#define DMA1_Channel4_BASE (AHBPERIPH_BASE + 0x0044) ///< Base Address: 0x40020044
#define DMA1_Channel5_BASE (AHBPERIPH_BASE + 0x0058) ///< Base Address: 0x40020058
#define DMA1_Channel6_BASE (AHBPERIPH_BASE + 0x006C) ///< Base Address: 0x4002006C
#define DMA1_Channel7_BASE (AHBPERIPH_BASE + 0x0080) ///< Base Address: 0x40020080
#define DMA2_BASE (AHBPERIPH_BASE + 0x0400) ///< Base Address: 0x40020400
#define DMA2_Channel1_BASE (AHBPERIPH_BASE + 0x0408) ///< Base Address: 0x40020408
#define DMA2_Channel2_BASE (AHBPERIPH_BASE + 0x041C) ///< Base Address: 0x4002041C
#define DMA2_Channel3_BASE (AHBPERIPH_BASE + 0x0430) ///< Base Address: 0x40020430
#define DMA2_Channel4_BASE (AHBPERIPH_BASE + 0x0444) ///< Base Address: 0x40020444
#define DMA2_Channel5_BASE (AHBPERIPH_BASE + 0x0458) ///< Base Address: 0x40020458
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA Register Structure Definition
////////////////////////////////////////////////////////////////////////////////
typedef struct {
__IO u32 CCR; ///< DMA channel x configuration register offset: 0x00
__IO u32 CNDTR; ///< DMA channel x number of data register offset: 0x04
__IO u32 CPAR; ///< DMA channel x peripheral address register offset: 0x08
__IO u32 CMAR; ///< DMA channel x memory address register offset: 0x0C
} DMA_Channel_TypeDef;
typedef struct {
__IO u32 ISR; ///< Interrupt Status Register offset: 0x00
__IO u32 IFCR; ///< Interrupt Flag Clear Register offset: 0x04
__IO u32 CCRx; ///< Channel X configures registers offset: 0x08
__IO u32 CNDTRx; ///< Channel X transfer quantity register offset: 0x0C
__IO u32 CPARx; ///< Channel X peripheral address register offset: 0x10
__IO u32 CMARx; ///< Channel X memory address register offset: 0x14
} DMA_TypeDef;
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA type pointer Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA1 ((DMA_TypeDef*) DMA1_BASE)
#define DMA1_ch1 ((DMA_Channel_TypeDef*) DMA1_Channel1_BASE)
#define DMA1_ch2 ((DMA_Channel_TypeDef*) DMA1_Channel2_BASE)
#define DMA1_ch3 ((DMA_Channel_TypeDef*) DMA1_Channel3_BASE)
#define DMA1_ch4 ((DMA_Channel_TypeDef*) DMA1_Channel4_BASE)
#define DMA1_ch5 ((DMA_Channel_TypeDef*) DMA1_Channel5_BASE)
#define DMA1_Channel1 ((DMA_Channel_TypeDef*) DMA1_Channel1_BASE)
#define DMA1_Channel2 ((DMA_Channel_TypeDef*) DMA1_Channel2_BASE)
#define DMA1_Channel3 ((DMA_Channel_TypeDef*) DMA1_Channel3_BASE)
#define DMA1_Channel4 ((DMA_Channel_TypeDef*) DMA1_Channel4_BASE)
#define DMA1_Channel5 ((DMA_Channel_TypeDef*) DMA1_Channel5_BASE)
#define DMA1_ch6 ((DMA_Channel_TypeDef*) DMA1_Channel6_BASE)
#define DMA1_ch7 ((DMA_Channel_TypeDef*) DMA1_Channel7_BASE)
#define DMA1_Channel6 ((DMA_Channel_TypeDef*) DMA1_Channel6_BASE)
#define DMA1_Channel7 ((DMA_Channel_TypeDef*) DMA1_Channel7_BASE)
#define DMA2 ((DMA_TypeDef*) DMA2_BASE)
#define DMA2_ch1 ((DMA_Channel_TypeDef*) DMA2_Channel1_BASE)
#define DMA2_ch2 ((DMA_Channel_TypeDef*) DMA2_Channel2_BASE)
#define DMA2_ch3 ((DMA_Channel_TypeDef*) DMA2_Channel3_BASE)
#define DMA2_ch4 ((DMA_Channel_TypeDef*) DMA2_Channel4_BASE)
#define DMA2_ch5 ((DMA_Channel_TypeDef*) DMA2_Channel5_BASE)
#define DMA2_Channel1 ((DMA_Channel_TypeDef*) DMA2_Channel1_BASE)
#define DMA2_Channel2 ((DMA_Channel_TypeDef*) DMA2_Channel2_BASE)
#define DMA2_Channel3 ((DMA_Channel_TypeDef*) DMA2_Channel3_BASE)
#define DMA2_Channel4 ((DMA_Channel_TypeDef*) DMA2_Channel4_BASE)
#define DMA2_Channel5 ((DMA_Channel_TypeDef*) DMA2_Channel5_BASE)
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_ISR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_ISR_GIF1_Pos (0)
#define DMA_ISR_GIF1 (0x01U << DMA_ISR_GIF1_Pos) ///< Channel 1 Global interrupt flag
#define DMA_ISR_TCIF1_Pos (1)
#define DMA_ISR_TCIF1 (0x01U << DMA_ISR_TCIF1_Pos) ///< Channel 1 Transfer Complete flag
#define DMA_ISR_HTIF1_Pos (2)
#define DMA_ISR_HTIF1 (0x01U << DMA_ISR_HTIF1_Pos) ///< Channel 1 Half Transfer flag
#define DMA_ISR_TEIF1_Pos (3)
#define DMA_ISR_TEIF1 (0x01U << DMA_ISR_TEIF1_Pos) ///< Channel 1 Transfer Error flag
#define DMA_ISR_GIF2_Pos (4)
#define DMA_ISR_GIF2 (0x01U << DMA_ISR_GIF2_Pos) ///< Channel 2 Global interrupt flag
#define DMA_ISR_TCIF2_Pos (5)
#define DMA_ISR_TCIF2 (0x01U << DMA_ISR_TCIF2_Pos) ///< Channel 2 Transfer Complete flag
#define DMA_ISR_HTIF2_Pos (6)
#define DMA_ISR_HTIF2 (0x01U << DMA_ISR_HTIF2_Pos) ///< Channel 2 Half Transfer flag
#define DMA_ISR_TEIF2_Pos (7)
#define DMA_ISR_TEIF2 (0x01U << DMA_ISR_TEIF2_Pos) ///< Channel 2 Transfer Error flag
#define DMA_ISR_GIF3_Pos (8)
#define DMA_ISR_GIF3 (0x01U << DMA_ISR_GIF3_Pos) ///< Channel 3 Global interrupt flag
#define DMA_ISR_TCIF3_Pos (9)
#define DMA_ISR_TCIF3 (0x01U << DMA_ISR_TCIF3_Pos) ///< Channel 3 Transfer Complete flag
#define DMA_ISR_HTIF3_Pos (10)
#define DMA_ISR_HTIF3 (0x01U << DMA_ISR_HTIF3_Pos) ///< Channel 3 Half Transfer flag
#define DMA_ISR_TEIF3_Pos (11)
#define DMA_ISR_TEIF3 (0x01U << DMA_ISR_TEIF3_Pos) ///< Channel 3 Transfer Error flag
#define DMA_ISR_GIF4_Pos (12)
#define DMA_ISR_GIF4 (0x01U << DMA_ISR_GIF4_Pos) ///< Channel 4 Global interrupt flag
#define DMA_ISR_TCIF4_Pos (13)
#define DMA_ISR_TCIF4 (0x01U << DMA_ISR_TCIF4_Pos) ///< Channel 4 Transfer Complete flag
#define DMA_ISR_HTIF4_Pos (14)
#define DMA_ISR_HTIF4 (0x01U << DMA_ISR_HTIF4_Pos) ///< Channel 4 Half Transfer flag
#define DMA_ISR_TEIF4_Pos (15)
#define DMA_ISR_TEIF4 (0x01U << DMA_ISR_TEIF4_Pos) ///< Channel 4 Transfer Error flag
#define DMA_ISR_GIF5_Pos (16)
#define DMA_ISR_GIF5 (0x01U << DMA_ISR_GIF5_Pos) ///< Channel 5 Global interrupt flag
#define DMA_ISR_TCIF5_Pos (17)
#define DMA_ISR_TCIF5 (0x01U << DMA_ISR_TCIF5_Pos) ///< Channel 5 Transfer Complete flag
#define DMA_ISR_HTIF5_Pos (18)
#define DMA_ISR_HTIF5 (0x01U << DMA_ISR_HTIF5_Pos) ///< Channel 5 Half Transfer flag
#define DMA_ISR_TEIF5_Pos (19)
#define DMA_ISR_TEIF5 (0x01U << DMA_ISR_TEIF5_Pos) ///< Channel 5 Transfer Error flag
#define DMA_ISR_GIF6_Pos (20)
#define DMA_ISR_GIF6 (0x01U << DMA_ISR_GIF6_Pos) ///< Channel 6 Global interrupt flag
#define DMA_ISR_TCIF6_Pos (21)
#define DMA_ISR_TCIF6 (0x01U << DMA_ISR_TCIF6_Pos) ///< Channel 6 Transfer Complete flag
#define DMA_ISR_HTIF6_Pos (22)
#define DMA_ISR_HTIF6 (0x01U << DMA_ISR_HTIF6_Pos) ///< Channel 6 Half Transfer flag
#define DMA_ISR_TEIF6_Pos (23)
#define DMA_ISR_TEIF6 (0x01U << DMA_ISR_TEIF6_Pos) ///< Channel 6 Transfer Error flag
#define DMA_ISR_GIF7_Pos (24)
#define DMA_ISR_GIF7 (0x01U << DMA_ISR_GIF7_Pos) ///< Channel 7 Global interrupt flag
#define DMA_ISR_TCIF7_Pos (25)
#define DMA_ISR_TCIF7 (0x01U << DMA_ISR_TCIF7_Pos) ///< Channel 7 Transfer Complete flag
#define DMA_ISR_HTIF7_Pos (26)
#define DMA_ISR_HTIF7 (0x01U << DMA_ISR_HTIF7_Pos) ///< Channel 7 Half Transfer flag
#define DMA_ISR_TEIF7_Pos (27)
#define DMA_ISR_TEIF7 (0x01U << DMA_ISR_TEIF7_Pos) ///< Channel 7 Transfer Error flag
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_IFCR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_IFCR_CGIF1_Pos (0)
#define DMA_IFCR_CGIF1 (0x01U << DMA_IFCR_CGIF1_Pos) ///< Channel 1 Global interrupt clearr
#define DMA_IFCR_CTCIF1_Pos (1)
#define DMA_IFCR_CTCIF1 (0x01U << DMA_IFCR_CTCIF1_Pos) ///< Channel 1 Transfer Complete clear
#define DMA_IFCR_CHTIF1_Pos (2)
#define DMA_IFCR_CHTIF1 (0x01U << DMA_IFCR_CHTIF1_Pos) ///< Channel 1 Half Transfer clear
#define DMA_IFCR_CTEIF1_Pos (3)
#define DMA_IFCR_CTEIF1 (0x01U << DMA_IFCR_CTEIF1_Pos) ///< Channel 1 Transfer Error clear
#define DMA_IFCR_CGIF2_Pos (4)
#define DMA_IFCR_CGIF2 (0x01U << DMA_IFCR_CGIF2_Pos) ///< Channel 2 Global interrupt clear
#define DMA_IFCR_CTCIF2_Pos (5)
#define DMA_IFCR_CTCIF2 (0x01U << DMA_IFCR_CTCIF2_Pos) ///< Channel 2 Transfer Complete clear
#define DMA_IFCR_CHTIF2_Pos (6)
#define DMA_IFCR_CHTIF2 (0x01U << DMA_IFCR_CHTIF2_Pos) ///< Channel 2 Half Transfer clear
#define DMA_IFCR_CTEIF2_Pos (7)
#define DMA_IFCR_CTEIF2 (0x01U << DMA_IFCR_CTEIF2_Pos) ///< Channel 2 Transfer Error clear
#define DMA_IFCR_CGIF3_Pos (8)
#define DMA_IFCR_CGIF3 (0x01U << DMA_IFCR_CGIF3_Pos) ///< Channel 3 Global interrupt clear
#define DMA_IFCR_CTCIF3_Pos (9)
#define DMA_IFCR_CTCIF3 (0x01U << DMA_IFCR_CTCIF3_Pos) ///< Channel 3 Transfer Complete clear
#define DMA_IFCR_CHTIF3_Pos (10)
#define DMA_IFCR_CHTIF3 (0x01U << DMA_IFCR_CHTIF3_Pos) ///< Channel 3 Half Transfer clear
#define DMA_IFCR_CTEIF3_Pos (11)
#define DMA_IFCR_CTEIF3 (0x01U << DMA_IFCR_CTEIF3_Pos) ///< Channel 3 Transfer Error clear
#define DMA_IFCR_CGIF4_Pos (12)
#define DMA_IFCR_CGIF4 (0x01U << DMA_IFCR_CGIF4_Pos) ///< Channel 4 Global interrupt clear
#define DMA_IFCR_CTCIF4_Pos (13)
#define DMA_IFCR_CTCIF4 (0x01U << DMA_IFCR_CTCIF4_Pos) ///< Channel 4 Transfer Complete clear
#define DMA_IFCR_CHTIF4_Pos (14)
#define DMA_IFCR_CHTIF4 (0x01U << DMA_IFCR_CHTIF4_Pos) ///< Channel 4 Half Transfer clear
#define DMA_IFCR_CTEIF4_Pos (15)
#define DMA_IFCR_CTEIF4 (0x01U << DMA_IFCR_CTEIF4_Pos) ///< Channel 4 Transfer Error clear
#define DMA_IFCR_CGIF5_Pos (16)
#define DMA_IFCR_CGIF5 (0x01U << DMA_IFCR_CGIF5_Pos) ///< Channel 5 Global interrupt clear
#define DMA_IFCR_CTCIF5_Pos (17)
#define DMA_IFCR_CTCIF5 (0x01U << DMA_IFCR_CTCIF5_Pos) ///< Channel 5 Transfer Complete clear
#define DMA_IFCR_CHTIF5_Pos (18)
#define DMA_IFCR_CHTIF5 (0x01U << DMA_IFCR_CHTIF5_Pos) ///< Channel 5 Half Transfer clear
#define DMA_IFCR_CTEIF5_Pos (19)
#define DMA_IFCR_CTEIF5 (0x01U << DMA_IFCR_CTEIF5_Pos) ///< Channel 5 Transfer Error clear
#define DMA_IFCR_CGIF6_Pos (20)
#define DMA_IFCR_CGIF6 (0x01U << DMA_IFCR_CGIF6_Pos) ///< Channel 6 Global interrupt clear
#define DMA_IFCR_CTCIF6_Pos (21)
#define DMA_IFCR_CTCIF6 (0x01U << DMA_IFCR_CTCIF6_Pos) ///< Channel 6 Transfer Complete clear
#define DMA_IFCR_CHTIF6_Pos (22)
#define DMA_IFCR_CHTIF6 (0x01U << DMA_IFCR_CHTIF6_Pos) ///< Channel 6 Half Transfer clear
#define DMA_IFCR_CTEIF6_Pos (23)
#define DMA_IFCR_CTEIF6 (0x01U << DMA_IFCR_CTEIF6_Pos) ///< Channel 6 Transfer Error clear
#define DMA_IFCR_CGIF7_Pos (24)
#define DMA_IFCR_CGIF7 (0x01U << DMA_IFCR_CGIF7_Pos) ///< Channel 7 Global interrupt clear
#define DMA_IFCR_CTCIF7_Pos (25)
#define DMA_IFCR_CTCIF7 (0x01U << DMA_IFCR_CTCIF7_Pos) ///< Channel 7 Transfer Complete clear
#define DMA_IFCR_CHTIF7_Pos (26)
#define DMA_IFCR_CHTIF7 (0x01U << DMA_IFCR_CHTIF7_Pos) ///< Channel 7 Half Transfer clear
#define DMA_IFCR_CTEIF7_Pos (27)
#define DMA_IFCR_CTEIF7 (0x01U << DMA_IFCR_CTEIF7_Pos) ///< Channel 7 Transfer Error clear
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_CCR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_CCR_EN_Pos (0)
#define DMA_CCR_EN (0x01U << DMA_CCR_EN_Pos) ///< Channel enabl
#define DMA_CCR_TCIE_Pos (1)
#define DMA_CCR_TCIE (0x01U << DMA_CCR_TCIE_Pos) ///< Transfer complete interrupt enable
#define DMA_CCR_HTIE_Pos (2)
#define DMA_CCR_HTIE (0x01U << DMA_CCR_HTIE_Pos) ///< Half Transfer interrupt enable
#define DMA_CCR_TEIE_Pos (3)
#define DMA_CCR_TEIE (0x01U << DMA_CCR_TEIE_Pos) ///< Transfer error interrupt enable
#define DMA_CCR_DIR_Pos (4)
#define DMA_CCR_DIR (0x01U << DMA_CCR_DIR_Pos) ///< Data transfer direction
#define DMA_CCR_CIRC_Pos (5)
#define DMA_CCR_CIRC (0x01U << DMA_CCR_CIRC_Pos) ///< Circular mode
#define DMA_CCR_PINC_Pos (6)
#define DMA_CCR_PINC (0x01U << DMA_CCR_PINC_Pos) ///< Peripheral increment mode
#define DMA_CCR_MINC_Pos (7)
#define DMA_CCR_MINC (0x01U << DMA_CCR_MINC_Pos) ///< Memory increment mode
#define DMA_CCR_PSIZE_Pos (8)
#define DMA_CCR_PSIZE (0x03U << DMA_CCR_PSIZE_Pos) ///< PSIZE[1:0] bits (Peripheral size)
#define DMA_CCR_PSIZE_0 (0x01U << DMA_CCR_PSIZE_Pos) ///< Bit0
#define DMA_CCR_PSIZE_1 (0x02U << DMA_CCR_PSIZE_Pos) ///< Bit1
#define DMA_CCR_PSIZE_BYTE (0x00U << DMA_CCR_PSIZE_Pos) ///< DMA Peripheral Data Size Byte
#define DMA_CCR_PSIZE_HALFWORD (0x01U << DMA_CCR_PSIZE_Pos) ///< DMA Peripheral Data Size HalfWord
#define DMA_CCR_PSIZE_WORD (0x02U << DMA_CCR_PSIZE_Pos) ///< DMA Peripheral Data Size Word
#define DMA_CCR_MSIZE_Pos (10)
#define DMA_CCR_MSIZE (0x03U << DMA_CCR_MSIZE_Pos) ///< MSIZE[1:0] bits (Memory size)
#define DMA_CCR_MSIZE_0 (0x01U << DMA_CCR_MSIZE_Pos) ///< Bit0
#define DMA_CCR_MSIZE_1 (0x02U << DMA_CCR_MSIZE_Pos) ///< Bit1
#define DMA_CCR_MSIZE_BYTE (0x00U << DMA_CCR_MSIZE_Pos) ///< DMA Memory Data Size Byte
#define DMA_CCR_MSIZE_HALFWORD (0x01U << DMA_CCR_MSIZE_Pos) ///< DMA Memory Data Size HalfWord
#define DMA_CCR_MSIZE_WORD (0x02U << DMA_CCR_MSIZE_Pos) ///< DMA Memory Data Size Word
#define DMA_CCR_PL_Pos (12)
#define DMA_CCR_PL (0x03U << DMA_CCR_PL_Pos) ///< PL[1:0] bits(Channel Priority level)
#define DMA_CCR_PL_0 (0x01U << DMA_CCR_PL_Pos) ///< Bit0
#define DMA_CCR_PL_1 (0x02U << DMA_CCR_PL_Pos) ///< Bit1
#define DMA_CCR_PL_Low (0x00U << DMA_CCR_PL_Pos) ///< DMA Priority Low
#define DMA_CCR_PL_Medium (0x01U << DMA_CCR_PL_Pos) ///< DMA Priority Medium
#define DMA_CCR_PL_High (0x02U << DMA_CCR_PL_Pos) ///< DMA Priority High
#define DMA_CCR_PL_VeryHigh (0x03U << DMA_CCR_PL_Pos) ///< DMA Priority VeryHigh
#define DMA_CCR_M2M_Pos (14)
#define DMA_CCR_M2M (0x01U << DMA_CCR_M2M_Pos) ///< Memory to memory mode
#define DMA_CCR_ARE_Pos (15)
#define DMA_CCR_ARE (0x01U << DMA_CCR_ARE_Pos) ///< Auto-Reload Enable bit
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_CNDTR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_CNDTR_NDT_Pos (0)
#define DMA_CNDTR_NDT (0xFFFFU << DMA_CNDTR_NDT_Pos) ///< Number of data to Transfer
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_CPAR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_CPAR_PA_Pos (0)
#define DMA_CPAR_PA (0xFFFFFFFFU << DMA_CPAR_PA_Pos) ///< Peripheral Address
////////////////////////////////////////////////////////////////////////////////
/// @brief DMA_CMAR Register Bit Definition
////////////////////////////////////////////////////////////////////////////////
#define DMA_CMAR_MA_Pos (0)
#define DMA_CMAR_MA (0xFFFFFFFFU << DMA_CMAR_MA_Pos) ///< Peripheral Address
/// @}
/// @}
/// @}
////////////////////////////////////////////////////////////////////////////////
#endif
////////////////////////////////////////////////////////////////////////////////
|