G32R430 Device Driver Layer v1.0.4
G32R4xx Device Driver Layer API Reference
g32r4xx_ddl_dma.h
Go to the documentation of this file.
1
43
44/* Define to prevent recursive inclusion -------------------------------------*/
45#ifndef G32R4xx_DDL_DMA_H
46#define G32R4xx_DDL_DMA_H
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52/* Includes ------------------------------------------------------------------*/
53#include "g32r4xx.h"
54
58
59#if defined (DMA1) || defined (DMA2)
60
64
65/* Private types -------------------------------------------------------------*/
66/* Private variables ---------------------------------------------------------*/
70/* Array used to get the DMA stream register offset versus stream index DDL_DMA_STREAM_x */
71static const uint8_t STREAM_OFFSET_TAB[] =
72{
73 (uint8_t)(DMA1_Stream0_BASE - DMA1_BASE),
74 (uint8_t)(DMA1_Stream1_BASE - DMA1_BASE),
75 (uint8_t)(DMA1_Stream2_BASE - DMA1_BASE),
76 (uint8_t)(DMA1_Stream3_BASE - DMA1_BASE),
77 (uint8_t)(DMA1_Stream4_BASE - DMA1_BASE),
78 (uint8_t)(DMA1_Stream5_BASE - DMA1_BASE),
79 (uint8_t)(DMA1_Stream6_BASE - DMA1_BASE),
80 (uint8_t)(DMA1_Stream7_BASE - DMA1_BASE)
81};
82
85
86/* Private constants ---------------------------------------------------------*/
87/* Private macros ------------------------------------------------------------*/
88/* Exported types ------------------------------------------------------------*/
89#if defined(USE_FULL_DDL_DRIVER)
93typedef struct
94{
99
104
105 uint32_t Direction;
110
111 uint32_t Mode;
117
123
129
135
141
142 uint32_t NbData;
148
149 uint32_t Channel;
153
154 uint32_t Priority;
158
159 uint32_t FIFOMode;
165
166 uint32_t FIFOThreshold;
170
171 uint32_t MemBurst;
178
179 uint32_t PeriphBurst;
186
188
191#endif /*USE_FULL_DDL_DRIVER*/
192/* Exported constants --------------------------------------------------------*/
196
200#define DDL_DMA_STREAM_0 0x00000000U
201#define DDL_DMA_STREAM_1 0x00000001U
202#define DDL_DMA_STREAM_2 0x00000002U
203#define DDL_DMA_STREAM_3 0x00000003U
204#define DDL_DMA_STREAM_4 0x00000004U
205#define DDL_DMA_STREAM_5 0x00000005U
206#define DDL_DMA_STREAM_6 0x00000006U
207#define DDL_DMA_STREAM_7 0x00000007U
208#define DDL_DMA_STREAM_ALL 0xFFFF0000U
212
216#define DDL_DMA_DIRECTION_PERIPH_TO_MEMORY 0x00000000U
217#define DDL_DMA_DIRECTION_MEMORY_TO_PERIPH DMA_SCFG_DIRCFG_0
218#define DDL_DMA_DIRECTION_MEMORY_TO_MEMORY DMA_SCFG_DIRCFG_1
222
226#define DDL_DMA_MODE_NORMAL 0x00000000U
227#define DDL_DMA_MODE_CIRCULAR DMA_SCFG_CIRCMEN
228#define DDL_DMA_MODE_PFCTRL DMA_SCFG_PERFC
232
236#define DDL_DMA_DOUBLEBUFFER_MODE_DISABLE 0x00000000U
237#define DDL_DMA_DOUBLEBUFFER_MODE_ENABLE DMA_SCFG_DBM
241
245#define DDL_DMA_PERIPH_NOINCREMENT 0x00000000U
246#define DDL_DMA_PERIPH_INCREMENT DMA_SCFG_PERIM
250
254#define DDL_DMA_MEMORY_NOINCREMENT 0x00000000U
255#define DDL_DMA_MEMORY_INCREMENT DMA_SCFG_MEMIM
259
263#define DDL_DMA_PDATAALIGN_BYTE 0x00000000U
264#define DDL_DMA_PDATAALIGN_HALFWORD DMA_SCFG_PERSIZECFG_0
265#define DDL_DMA_PDATAALIGN_WORD DMA_SCFG_PERSIZECFG_1
269
273#define DDL_DMA_MDATAALIGN_BYTE 0x00000000U
274#define DDL_DMA_MDATAALIGN_HALFWORD DMA_SCFG_MEMSIZECFG_0
275#define DDL_DMA_MDATAALIGN_WORD DMA_SCFG_MEMSIZECFG_1
279
283#define DDL_DMA_OFFSETSIZE_PSIZE 0x00000000U
284#define DDL_DMA_OFFSETSIZE_FIXEDTO4 DMA_SCFG_PERIOSIZE
288
292#define DDL_DMA_PRIORITY_LOW 0x00000000U
293#define DDL_DMA_PRIORITY_MEDIUM DMA_SCFG_PRILCFG_0
294#define DDL_DMA_PRIORITY_HIGH DMA_SCFG_PRILCFG_1
295#define DDL_DMA_PRIORITY_VERYHIGH DMA_SCFG_PRILCFG
299
303#define DDL_DMA_CHANNEL_0 0x00000000U /* Select Channel0 of DMA Instance */
304#define DDL_DMA_CHANNEL_1 DMA_SCFG_CHSEL_0 /* Select Channel1 of DMA Instance */
305#define DDL_DMA_CHANNEL_2 DMA_SCFG_CHSEL_1 /* Select Channel2 of DMA Instance */
306#define DDL_DMA_CHANNEL_3 (DMA_SCFG_CHSEL_0 | DMA_SCFG_CHSEL_1) /* Select Channel3 of DMA Instance */
307#define DDL_DMA_CHANNEL_4 DMA_SCFG_CHSEL_2 /* Select Channel4 of DMA Instance */
308#define DDL_DMA_CHANNEL_5 (DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_0) /* Select Channel5 of DMA Instance */
309#define DDL_DMA_CHANNEL_6 (DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_1) /* Select Channel6 of DMA Instance */
310#define DDL_DMA_CHANNEL_7 (DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_1 | DMA_SCFG_CHSEL_0) /* Select Channel7 of DMA Instance */
311#if defined (DMA_SCFG_CHSEL_3)
312#define DDL_DMA_CHANNEL_8 DMA_SCFG_CHSEL_3 /* Select Channel8 of DMA Instance */
313#define DDL_DMA_CHANNEL_9 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_0) /* Select Channel9 of DMA Instance */
314#define DDL_DMA_CHANNEL_10 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_1) /* Select Channel10 of DMA Instance */
315#define DDL_DMA_CHANNEL_11 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_1 | DMA_SCFG_CHSEL_0) /* Select Channel11 of DMA Instance */
316#define DDL_DMA_CHANNEL_12 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_2) /* Select Channel12 of DMA Instance */
317#define DDL_DMA_CHANNEL_13 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_0) /* Select Channel13 of DMA Instance */
318#define DDL_DMA_CHANNEL_14 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_1) /* Select Channel14 of DMA Instance */
319#define DDL_DMA_CHANNEL_15 (DMA_SCFG_CHSEL_3 | DMA_SCFG_CHSEL_2 | DMA_SCFG_CHSEL_1 | DMA_SCFG_CHSEL_0) /* Select Channel15 of DMA Instance */
320#endif /* DMA_SCFG_CHSEL_3 */
324
328#define DDL_DMA_MBURST_SINGLE 0x00000000U
329#define DDL_DMA_MBURST_INC4 DMA_SCFG_MBCFG_0
330#define DDL_DMA_MBURST_INC8 DMA_SCFG_MBCFG_1
331#define DDL_DMA_MBURST_INC16 (DMA_SCFG_MBCFG_0 | DMA_SCFG_MBCFG_1)
335
339#define DDL_DMA_PBURST_SINGLE 0x00000000U
340#define DDL_DMA_PBURST_INC4 DMA_SCFG_PBCFG_0
341#define DDL_DMA_PBURST_INC8 DMA_SCFG_PBCFG_1
342#define DDL_DMA_PBURST_INC16 (DMA_SCFG_PBCFG_0 | DMA_SCFG_PBCFG_1)
346
350#define DDL_DMA_FIFOMODE_DISABLE 0x00000000U
351#define DDL_DMA_FIFOMODE_ENABLE DMA_FCTRL_DMDEN
355
359#define DDL_DMA_FIFOSTATUS_0_25 0x00000000U
360#define DDL_DMA_FIFOSTATUS_25_50 DMA_FCTRL_FSTS_0
361#define DDL_DMA_FIFOSTATUS_50_75 DMA_FCTRL_FSTS_1
362#define DDL_DMA_FIFOSTATUS_75_100 (DMA_FCTRL_FSTS_1 | DMA_FCTRL_FSTS_0)
363#define DDL_DMA_FIFOSTATUS_EMPTY DMA_FCTRL_FSTS_2
364#define DDL_DMA_FIFOSTATUS_FULL (DMA_FCTRL_FSTS_2 | DMA_FCTRL_FSTS_0)
368
372#define DDL_DMA_FIFOTHRESHOLD_1_4 0x00000000U
373#define DDL_DMA_FIFOTHRESHOLD_1_2 DMA_FCTRL_FTHSEL_0
374#define DDL_DMA_FIFOTHRESHOLD_3_4 DMA_FCTRL_FTHSEL_1
375#define DDL_DMA_FIFOTHRESHOLD_FULL DMA_FCTRL_FTHSEL
379
383#define DDL_DMA_CURRENTTARGETMEM0 0x00000000U
384#define DDL_DMA_CURRENTTARGETMEM1 DMA_SCFG_CTARG
388
392
393/* Exported macro ------------------------------------------------------------*/
397
408#define DDL_DMA_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
409
416#define DDL_DMA_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
420
429#define __DDL_DMA_GET_INSTANCE(__STREAM_INSTANCE__) \
430(((uint32_t)(__STREAM_INSTANCE__) > ((uint32_t)DMA1_Stream7)) ? 0 : DMA1)
431
437#define __DDL_DMA_GET_STREAM(__STREAM_INSTANCE__) \
438(((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream0)) ? DDL_DMA_STREAM_0 : \
439 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream1)) ? DDL_DMA_STREAM_1 : \
440 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream2)) ? DDL_DMA_STREAM_2 : \
441 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream3)) ? DDL_DMA_STREAM_3 : \
442 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream4)) ? DDL_DMA_STREAM_4 : \
443 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream5)) ? DDL_DMA_STREAM_5 : \
444 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream6)) ? DDL_DMA_STREAM_6 : \
445 ((uint32_t)(__STREAM_INSTANCE__) == ((uint32_t)DMA1_Stream7)) ? DDL_DMA_STREAM_7 : \
446 DDL_DMA_STREAM_7)
447
454#define __DDL_DMA_GET_STREAM_INSTANCE(__DMA_INSTANCE__, __STREAM__) \
455((((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_0))) ? DMA1_Stream0 : \
456 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_1))) ? DMA1_Stream1 : \
457 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_2))) ? DMA1_Stream2 : \
458 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_3))) ? DMA1_Stream3 : \
459 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_4))) ? DMA1_Stream4 : \
460 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_5))) ? DMA1_Stream5 : \
461 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_6))) ? DMA1_Stream6 : \
462 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__STREAM__) == ((uint32_t)DDL_DMA_STREAM_7))) ? DMA1_Stream7 : \
463 0)
464
468
472
473/* Exported functions --------------------------------------------------------*/
477
495__STATIC_INLINE void DDL_DMA_EnableStream(DMA_TypeDef *DMAx, uint32_t Stream)
496{
497 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_EN);
498}
499
514__STATIC_INLINE void DDL_DMA_DisableStream(DMA_TypeDef *DMAx, uint32_t Stream)
515{
516 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_EN);
517}
518
533__STATIC_INLINE uint32_t DDL_DMA_IsEnabledStream(DMA_TypeDef *DMAx, uint32_t Stream)
534{
535 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_EN) == (DMA_SCFG_EN));
536}
537
560__STATIC_INLINE void DDL_DMA_ConfigTransfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Configuration)
561{
562 MODIFY_REG(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG,
563 DMA_SCFG_DIRCFG | DMA_SCFG_CIRCMEN | DMA_SCFG_PERIM | DMA_SCFG_MEMIM | DMA_SCFG_PERSIZECFG | DMA_SCFG_MEMSIZECFG | DMA_SCFG_PRILCFG | DMA_SCFG_PERFC,
564 Configuration);
565}
566
585__STATIC_INLINE void DDL_DMA_SetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Direction)
586{
587 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DIRCFG, Direction);
588}
589
607__STATIC_INLINE uint32_t DDL_DMA_GetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Stream)
608{
609 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DIRCFG));
610}
611
630__STATIC_INLINE void DDL_DMA_SetMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Mode)
631{
632 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CIRCMEN | DMA_SCFG_PERFC, Mode);
633}
634
652__STATIC_INLINE uint32_t DDL_DMA_GetMode(DMA_TypeDef *DMAx, uint32_t Stream)
653{
654 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CIRCMEN | DMA_SCFG_PERFC));
655}
656
674__STATIC_INLINE void DDL_DMA_SetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t IncrementMode)
675{
676 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERIM, IncrementMode);
677}
678
695__STATIC_INLINE uint32_t DDL_DMA_GetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream)
696{
697 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERIM));
698}
699
717__STATIC_INLINE void DDL_DMA_SetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t IncrementMode)
718{
719 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MEMIM, IncrementMode);
720}
721
738__STATIC_INLINE uint32_t DDL_DMA_GetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Stream)
739{
740 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MEMIM));
741}
742
761__STATIC_INLINE void DDL_DMA_SetPeriphSize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Size)
762{
763 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERSIZECFG, Size);
764}
765
783__STATIC_INLINE uint32_t DDL_DMA_GetPeriphSize(DMA_TypeDef *DMAx, uint32_t Stream)
784{
785 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERSIZECFG));
786}
787
806__STATIC_INLINE void DDL_DMA_SetMemorySize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Size)
807{
808 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MEMSIZECFG, Size);
809}
810
828__STATIC_INLINE uint32_t DDL_DMA_GetMemorySize(DMA_TypeDef *DMAx, uint32_t Stream)
829{
830 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MEMSIZECFG));
831}
832
850__STATIC_INLINE void DDL_DMA_SetIncOffsetSize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t OffsetSize)
851{
852 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERIOSIZE, OffsetSize);
853}
854
871__STATIC_INLINE uint32_t DDL_DMA_GetIncOffsetSize(DMA_TypeDef *DMAx, uint32_t Stream)
872{
873 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PERIOSIZE));
874}
875
895__STATIC_INLINE void DDL_DMA_SetStreamPriorityLevel(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Priority)
896{
897 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PRILCFG, Priority);
898}
899
918__STATIC_INLINE uint32_t DDL_DMA_GetStreamPriorityLevel(DMA_TypeDef *DMAx, uint32_t Stream)
919{
920 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PRILCFG));
921}
922
940__STATIC_INLINE void DDL_DMA_SetDataLength(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t NbData)
941{
942 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->NDATA, DMA_NDATA_NDATA, NbData);
943}
944
961__STATIC_INLINE uint32_t DDL_DMA_GetDataLength(DMA_TypeDef* DMAx, uint32_t Stream)
962{
963 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->NDATA, DMA_NDATA_NDATA));
964}
965
989__STATIC_INLINE void DDL_DMA_SetChannelSelection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Channel)
990{
991 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CHSEL, Channel);
992}
993
1016__STATIC_INLINE uint32_t DDL_DMA_GetChannelSelection(DMA_TypeDef *DMAx, uint32_t Stream)
1017{
1018 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CHSEL));
1019}
1020
1040__STATIC_INLINE void DDL_DMA_SetMemoryBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Mburst)
1041{
1042 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MBCFG, Mburst);
1043}
1044
1063__STATIC_INLINE uint32_t DDL_DMA_GetMemoryBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream)
1064{
1065 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_MBCFG));
1066}
1067
1087__STATIC_INLINE void DDL_DMA_SetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Pburst)
1088{
1089 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PBCFG, Pburst);
1090}
1091
1110__STATIC_INLINE uint32_t DDL_DMA_GetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream)
1111{
1112 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_PBCFG));
1113}
1114
1132__STATIC_INLINE void DDL_DMA_SetCurrentTargetMem(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t CurrentMemory)
1133{
1134 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CTARG, CurrentMemory);
1135}
1136
1153__STATIC_INLINE uint32_t DDL_DMA_GetCurrentTargetMem(DMA_TypeDef *DMAx, uint32_t Stream)
1154{
1155 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_CTARG));
1156}
1157
1172__STATIC_INLINE void DDL_DMA_EnableDoubleBufferMode(DMA_TypeDef *DMAx, uint32_t Stream)
1173{
1174 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DBM);
1175}
1176
1191__STATIC_INLINE void DDL_DMA_DisableDoubleBufferMode(DMA_TypeDef *DMAx, uint32_t Stream)
1192{
1193 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DBM);
1194}
1195
1216__STATIC_INLINE uint32_t DDL_DMA_GetFIFOStatus(DMA_TypeDef *DMAx, uint32_t Stream)
1217{
1218 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FSTS));
1219}
1220
1235__STATIC_INLINE void DDL_DMA_DisableFifoMode(DMA_TypeDef *DMAx, uint32_t Stream)
1236{
1237 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_DMDEN);
1238}
1239
1254__STATIC_INLINE void DDL_DMA_EnableFifoMode(DMA_TypeDef *DMAx, uint32_t Stream)
1255{
1256 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_DMDEN);
1257}
1258
1278__STATIC_INLINE void DDL_DMA_SetFIFOThreshold(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Threshold)
1279{
1280 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FTHSEL, Threshold);
1281}
1282
1301__STATIC_INLINE uint32_t DDL_DMA_GetFIFOThreshold(DMA_TypeDef *DMAx, uint32_t Stream)
1302{
1303 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FTHSEL));
1304}
1305
1328__STATIC_INLINE void DDL_DMA_ConfigFifo(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t FifoMode, uint32_t FifoThreshold)
1329{
1330 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FTHSEL|DMA_FCTRL_DMDEN, FifoMode|FifoThreshold);
1331}
1332
1354__STATIC_INLINE void DDL_DMA_ConfigAddresses(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t SrcAddress, uint32_t DstAddress, uint32_t Direction)
1355{
1356 /* Direction Memory to Periph */
1357 if (Direction == DDL_DMA_DIRECTION_MEMORY_TO_PERIPH)
1358 {
1359 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR, SrcAddress);
1360 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR, DstAddress);
1361 }
1362 /* Direction Periph to Memory and Memory to Memory */
1363 else
1364 {
1365 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR, SrcAddress);
1366 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR, DstAddress);
1367 }
1368}
1369
1387__STATIC_INLINE void DDL_DMA_SetMemoryAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t MemoryAddress)
1388{
1389 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR, MemoryAddress);
1390}
1391
1409__STATIC_INLINE void DDL_DMA_SetPeriphAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t PeriphAddress)
1410{
1411 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR, PeriphAddress);
1412}
1413
1429__STATIC_INLINE uint32_t DDL_DMA_GetMemoryAddress(DMA_TypeDef* DMAx, uint32_t Stream)
1430{
1431 return (READ_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR));
1432}
1433
1449__STATIC_INLINE uint32_t DDL_DMA_GetPeriphAddress(DMA_TypeDef* DMAx, uint32_t Stream)
1450{
1451 return (READ_REG(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR));
1452}
1453
1471__STATIC_INLINE void DDL_DMA_SetM2MSrcAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t MemoryAddress)
1472{
1473 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR, MemoryAddress);
1474}
1475
1493__STATIC_INLINE void DDL_DMA_SetM2MDstAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t MemoryAddress)
1494 {
1495 WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR, MemoryAddress);
1496 }
1497
1513__STATIC_INLINE uint32_t DDL_DMA_GetM2MSrcAddress(DMA_TypeDef* DMAx, uint32_t Stream)
1514 {
1515 return (READ_REG(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PADDR));
1516 }
1517
1533__STATIC_INLINE uint32_t DDL_DMA_GetM2MDstAddress(DMA_TypeDef* DMAx, uint32_t Stream)
1534{
1535 return (READ_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0ADDR));
1536}
1537
1553__STATIC_INLINE void DDL_DMA_SetMemory1Address(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Address)
1554{
1555 MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M1ADDR, DMA_M1ADDR_M1ADDR, Address);
1556}
1557
1572__STATIC_INLINE uint32_t DDL_DMA_GetMemory1Address(DMA_TypeDef *DMAx, uint32_t Stream)
1573{
1574 return (((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M1ADDR);
1575}
1576
1580
1584
1590__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT0(DMA_TypeDef *DMAx)
1591{
1592 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_HTXIFLG0)==(DMA_LINTSTS_HTXIFLG0));
1593}
1594
1600__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT1(DMA_TypeDef *DMAx)
1601{
1602 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_HTXIFLG1)==(DMA_LINTSTS_HTXIFLG1));
1603}
1604
1610__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT2(DMA_TypeDef *DMAx)
1611{
1612 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_HTXIFLG2)==(DMA_LINTSTS_HTXIFLG2));
1613}
1614
1620__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT3(DMA_TypeDef *DMAx)
1621{
1622 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_HTXIFLG3)==(DMA_LINTSTS_HTXIFLG3));
1623}
1624
1630__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT4(DMA_TypeDef *DMAx)
1631{
1632 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_HTXIFLG4)==(DMA_HINTSTS_HTXIFLG4));
1633}
1634
1640__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT5(DMA_TypeDef *DMAx)
1641{
1642 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_HTXIFLG5)==(DMA_HINTSTS_HTXIFLG5));
1643}
1644
1650__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT6(DMA_TypeDef *DMAx)
1651{
1652 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_HTXIFLG6)==(DMA_HINTSTS_HTXIFLG6));
1653}
1654
1660__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT7(DMA_TypeDef *DMAx)
1661{
1662 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_HTXIFLG7)==(DMA_HINTSTS_HTXIFLG7));
1663}
1664
1670__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC0(DMA_TypeDef *DMAx)
1671{
1672 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXCIFLG0)==(DMA_LINTSTS_TXCIFLG0));
1673}
1674
1680__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC1(DMA_TypeDef *DMAx)
1681{
1682 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXCIFLG1)==(DMA_LINTSTS_TXCIFLG1));
1683}
1684
1690__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC2(DMA_TypeDef *DMAx)
1691{
1692 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXCIFLG2)==(DMA_LINTSTS_TXCIFLG2));
1693}
1694
1700__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC3(DMA_TypeDef *DMAx)
1701{
1702 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXCIFLG3)==(DMA_LINTSTS_TXCIFLG3));
1703}
1704
1710__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC4(DMA_TypeDef *DMAx)
1711{
1712 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXCIFLG4)==(DMA_HINTSTS_TXCIFLG4));
1713}
1714
1720__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC5(DMA_TypeDef *DMAx)
1721{
1722 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXCIFLG5)==(DMA_HINTSTS_TXCIFLG5));
1723}
1724
1730__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC6(DMA_TypeDef *DMAx)
1731{
1732 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXCIFLG6)==(DMA_HINTSTS_TXCIFLG6));
1733}
1734
1740__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC7(DMA_TypeDef *DMAx)
1741{
1742 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXCIFLG7)==(DMA_HINTSTS_TXCIFLG7));
1743}
1744
1750__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE0(DMA_TypeDef *DMAx)
1751{
1752 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXEIFLG0)==(DMA_LINTSTS_TXEIFLG0));
1753}
1754
1760__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE1(DMA_TypeDef *DMAx)
1761{
1762 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXEIFLG1)==(DMA_LINTSTS_TXEIFLG1));
1763}
1764
1770__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE2(DMA_TypeDef *DMAx)
1771{
1772 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXEIFLG2)==(DMA_LINTSTS_TXEIFLG2));
1773}
1774
1780__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE3(DMA_TypeDef *DMAx)
1781{
1782 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_TXEIFLG3)==(DMA_LINTSTS_TXEIFLG3));
1783}
1784
1790__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE4(DMA_TypeDef *DMAx)
1791{
1792 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXEIFLG4)==(DMA_HINTSTS_TXEIFLG4));
1793}
1794
1800__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE5(DMA_TypeDef *DMAx)
1801{
1802 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXEIFLG5)==(DMA_HINTSTS_TXEIFLG5));
1803}
1804
1810__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE6(DMA_TypeDef *DMAx)
1811{
1812 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXEIFLG6)==(DMA_HINTSTS_TXEIFLG6));
1813}
1814
1820__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE7(DMA_TypeDef *DMAx)
1821{
1822 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_TXEIFLG7)==(DMA_HINTSTS_TXEIFLG7));
1823}
1824
1830__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME0(DMA_TypeDef *DMAx)
1831{
1832 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_DMEIFLG0)==(DMA_LINTSTS_DMEIFLG0));
1833}
1834
1840__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME1(DMA_TypeDef *DMAx)
1841{
1842 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_DMEIFLG1)==(DMA_LINTSTS_DMEIFLG1));
1843}
1844
1850__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME2(DMA_TypeDef *DMAx)
1851{
1852 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_DMEIFLG2)==(DMA_LINTSTS_DMEIFLG2));
1853}
1854
1860__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME3(DMA_TypeDef *DMAx)
1861{
1862 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_DMEIFLG3)==(DMA_LINTSTS_DMEIFLG3));
1863}
1864
1870__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME4(DMA_TypeDef *DMAx)
1871{
1872 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_DMEIFLG4)==(DMA_HINTSTS_DMEIFLG4));
1873}
1874
1880__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME5(DMA_TypeDef *DMAx)
1881{
1882 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_DMEIFLG5)==(DMA_HINTSTS_DMEIFLG5));
1883}
1884
1890__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME6(DMA_TypeDef *DMAx)
1891{
1892 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_DMEIFLG6)==(DMA_HINTSTS_DMEIFLG6));
1893}
1894
1900__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME7(DMA_TypeDef *DMAx)
1901{
1902 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_DMEIFLG7)==(DMA_HINTSTS_DMEIFLG7));
1903}
1904
1910__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE0(DMA_TypeDef *DMAx)
1911{
1912 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_FEIFLG0)==(DMA_LINTSTS_FEIFLG0));
1913}
1914
1920__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE1(DMA_TypeDef *DMAx)
1921{
1922 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_FEIFLG1)==(DMA_LINTSTS_FEIFLG1));
1923}
1924
1930__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE2(DMA_TypeDef *DMAx)
1931{
1932 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_FEIFLG2)==(DMA_LINTSTS_FEIFLG2));
1933}
1934
1940__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE3(DMA_TypeDef *DMAx)
1941{
1942 return (READ_BIT(DMAx->LINTSTS ,DMA_LINTSTS_FEIFLG3)==(DMA_LINTSTS_FEIFLG3));
1943}
1944
1950__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE4(DMA_TypeDef *DMAx)
1951{
1952 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_FEIFLG4)==(DMA_HINTSTS_FEIFLG4));
1953}
1954
1960__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE5(DMA_TypeDef *DMAx)
1961{
1962 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_FEIFLG5)==(DMA_HINTSTS_FEIFLG5));
1963}
1964
1970__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE6(DMA_TypeDef *DMAx)
1971{
1972 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_FEIFLG6)==(DMA_HINTSTS_FEIFLG6));
1973}
1974
1980__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE7(DMA_TypeDef *DMAx)
1981{
1982 return (READ_BIT(DMAx->HINTSTS ,DMA_HINTSTS_FEIFLG7)==(DMA_HINTSTS_FEIFLG7));
1983}
1984
1990__STATIC_INLINE void DDL_DMA_ClearFlag_HT0(DMA_TypeDef *DMAx)
1991{
1992 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CHTXIFLG0);
1993}
1994
2000__STATIC_INLINE void DDL_DMA_ClearFlag_HT1(DMA_TypeDef *DMAx)
2001{
2002 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CHTXIFLG1);
2003}
2004
2010__STATIC_INLINE void DDL_DMA_ClearFlag_HT2(DMA_TypeDef *DMAx)
2011{
2012 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CHTXIFLG2);
2013}
2014
2020__STATIC_INLINE void DDL_DMA_ClearFlag_HT3(DMA_TypeDef *DMAx)
2021{
2022 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CHTXIFLG3);
2023}
2024
2030__STATIC_INLINE void DDL_DMA_ClearFlag_HT4(DMA_TypeDef *DMAx)
2031{
2032 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CHTXIFLG4);
2033}
2034
2040__STATIC_INLINE void DDL_DMA_ClearFlag_HT5(DMA_TypeDef *DMAx)
2041{
2042 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CHTXIFLG5);
2043}
2044
2050__STATIC_INLINE void DDL_DMA_ClearFlag_HT6(DMA_TypeDef *DMAx)
2051{
2052 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CHTXIFLG6);
2053}
2054
2060__STATIC_INLINE void DDL_DMA_ClearFlag_HT7(DMA_TypeDef *DMAx)
2061{
2062 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CHTXIFLG7);
2063}
2064
2070__STATIC_INLINE void DDL_DMA_ClearFlag_TC0(DMA_TypeDef *DMAx)
2071{
2072 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXCIFLG0);
2073}
2074
2080__STATIC_INLINE void DDL_DMA_ClearFlag_TC1(DMA_TypeDef *DMAx)
2081{
2082 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXCIFLG1);
2083}
2084
2090__STATIC_INLINE void DDL_DMA_ClearFlag_TC2(DMA_TypeDef *DMAx)
2091{
2092 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXCIFLG2);
2093}
2094
2100__STATIC_INLINE void DDL_DMA_ClearFlag_TC3(DMA_TypeDef *DMAx)
2101{
2102 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXCIFLG3);
2103}
2104
2110__STATIC_INLINE void DDL_DMA_ClearFlag_TC4(DMA_TypeDef *DMAx)
2111{
2112 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXCIFLG4);
2113}
2114
2120__STATIC_INLINE void DDL_DMA_ClearFlag_TC5(DMA_TypeDef *DMAx)
2121{
2122 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXCIFLG5);
2123}
2124
2130__STATIC_INLINE void DDL_DMA_ClearFlag_TC6(DMA_TypeDef *DMAx)
2131{
2132 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXCIFLG6);
2133}
2134
2140__STATIC_INLINE void DDL_DMA_ClearFlag_TC7(DMA_TypeDef *DMAx)
2141{
2142 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXCIFLG7);
2143}
2144
2150__STATIC_INLINE void DDL_DMA_ClearFlag_TE0(DMA_TypeDef *DMAx)
2151{
2152 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXEIFLG0);
2153}
2154
2160__STATIC_INLINE void DDL_DMA_ClearFlag_TE1(DMA_TypeDef *DMAx)
2161{
2162 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXEIFLG1);
2163}
2164
2170__STATIC_INLINE void DDL_DMA_ClearFlag_TE2(DMA_TypeDef *DMAx)
2171{
2172 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXEIFLG2);
2173}
2174
2180__STATIC_INLINE void DDL_DMA_ClearFlag_TE3(DMA_TypeDef *DMAx)
2181{
2182 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CTXEIFLG3);
2183}
2184
2190__STATIC_INLINE void DDL_DMA_ClearFlag_TE4(DMA_TypeDef *DMAx)
2191{
2192 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXEIFLG4);
2193}
2194
2200__STATIC_INLINE void DDL_DMA_ClearFlag_TE5(DMA_TypeDef *DMAx)
2201{
2202 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXEIFLG5);
2203}
2204
2210__STATIC_INLINE void DDL_DMA_ClearFlag_TE6(DMA_TypeDef *DMAx)
2211{
2212 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXEIFLG6);
2213}
2214
2220__STATIC_INLINE void DDL_DMA_ClearFlag_TE7(DMA_TypeDef *DMAx)
2221{
2222 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CTXEIFLG7);
2223}
2224
2230__STATIC_INLINE void DDL_DMA_ClearFlag_DME0(DMA_TypeDef *DMAx)
2231{
2232 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CDMEIFLG0);
2233}
2234
2240__STATIC_INLINE void DDL_DMA_ClearFlag_DME1(DMA_TypeDef *DMAx)
2241{
2242 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CDMEIFLG1);
2243}
2244
2250__STATIC_INLINE void DDL_DMA_ClearFlag_DME2(DMA_TypeDef *DMAx)
2251{
2252 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CDMEIFLG2);
2253}
2254
2260__STATIC_INLINE void DDL_DMA_ClearFlag_DME3(DMA_TypeDef *DMAx)
2261{
2262 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CDMEIFLG3);
2263}
2264
2270__STATIC_INLINE void DDL_DMA_ClearFlag_DME4(DMA_TypeDef *DMAx)
2271{
2272 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CDMEIFLG4);
2273}
2274
2280__STATIC_INLINE void DDL_DMA_ClearFlag_DME5(DMA_TypeDef *DMAx)
2281{
2282 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CDMEIFLG5);
2283}
2284
2290__STATIC_INLINE void DDL_DMA_ClearFlag_DME6(DMA_TypeDef *DMAx)
2291{
2292 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CDMEIFLG6);
2293}
2294
2300__STATIC_INLINE void DDL_DMA_ClearFlag_DME7(DMA_TypeDef *DMAx)
2301{
2302 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CDMEIFLG7);
2303}
2304
2310__STATIC_INLINE void DDL_DMA_ClearFlag_FE0(DMA_TypeDef *DMAx)
2311{
2312 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CFEIFLG0);
2313}
2314
2320__STATIC_INLINE void DDL_DMA_ClearFlag_FE1(DMA_TypeDef *DMAx)
2321{
2322 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CFEIFLG1);
2323}
2324
2330__STATIC_INLINE void DDL_DMA_ClearFlag_FE2(DMA_TypeDef *DMAx)
2331{
2332 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CFEIFLG2);
2333}
2334
2340__STATIC_INLINE void DDL_DMA_ClearFlag_FE3(DMA_TypeDef *DMAx)
2341{
2342 SET_BIT(DMAx->LIFCLR , DMA_LIFCLR_CFEIFLG3);
2343}
2344
2350__STATIC_INLINE void DDL_DMA_ClearFlag_FE4(DMA_TypeDef *DMAx)
2351{
2352 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CFEIFLG4);
2353}
2354
2360__STATIC_INLINE void DDL_DMA_ClearFlag_FE5(DMA_TypeDef *DMAx)
2361{
2362 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CFEIFLG5);
2363}
2364
2370__STATIC_INLINE void DDL_DMA_ClearFlag_FE6(DMA_TypeDef *DMAx)
2371{
2372 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CFEIFLG6);
2373}
2374
2380__STATIC_INLINE void DDL_DMA_ClearFlag_FE7(DMA_TypeDef *DMAx)
2381{
2382 SET_BIT(DMAx->HIFCLR , DMA_HIFCLR_CFEIFLG7);
2383}
2384
2388
2392
2407__STATIC_INLINE void DDL_DMA_EnableIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
2408{
2409 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_HTXIEN);
2410}
2411
2426__STATIC_INLINE void DDL_DMA_EnableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
2427{
2428 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXEIEN);
2429}
2430
2445__STATIC_INLINE void DDL_DMA_EnableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
2446{
2447 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXCIEN);
2448}
2449
2464__STATIC_INLINE void DDL_DMA_EnableIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
2465{
2466 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DMEIEN);
2467}
2468
2483__STATIC_INLINE void DDL_DMA_EnableIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
2484{
2485 SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FEIEN);
2486}
2487
2502__STATIC_INLINE void DDL_DMA_DisableIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
2503{
2504 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_HTXIEN);
2505}
2506
2521__STATIC_INLINE void DDL_DMA_DisableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
2522{
2523 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXEIEN);
2524}
2525
2540__STATIC_INLINE void DDL_DMA_DisableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
2541{
2542 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXCIEN);
2543}
2544
2559__STATIC_INLINE void DDL_DMA_DisableIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
2560{
2561 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DMEIEN);
2562}
2563
2578__STATIC_INLINE void DDL_DMA_DisableIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
2579{
2580 CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FEIEN);
2581}
2582
2597__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
2598{
2599 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_HTXIEN) == DMA_SCFG_HTXIEN);
2600}
2601
2616__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
2617{
2618 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXEIEN) == DMA_SCFG_TXEIEN);
2619}
2620
2635__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
2636{
2637 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_TXCIEN) == DMA_SCFG_TXCIEN);
2638}
2639
2654__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
2655{
2656 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->SCFG, DMA_SCFG_DMEIEN) == DMA_SCFG_DMEIEN);
2657}
2658
2673__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
2674{
2675 return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCTRL, DMA_FCTRL_FEIEN) == DMA_FCTRL_FEIEN);
2676}
2677
2681
2682#if defined(USE_FULL_DDL_DRIVER)
2686
2687uint32_t DDL_DMA_Init(DMA_TypeDef *DMAx, uint32_t Stream, DDL_DMA_InitTypeDef *DMA_InitStruct);
2688uint32_t DDL_DMA_DeInit(DMA_TypeDef *DMAx, uint32_t Stream);
2689void DDL_DMA_StructInit(DDL_DMA_InitTypeDef *DMA_InitStruct);
2690
2694#endif /* USE_FULL_DDL_DRIVER */
2695
2699
2703
2704#endif /* DMA1 || DMA2 */
2705
2709
2710#ifdef __cplusplus
2711}
2712#endif
2713
2714#endif /* G32R4xx_DDL_DMA_H */
2715
#define DDL_DMA_DIRECTION_MEMORY_TO_PERIPH
__STATIC_INLINE void DDL_DMA_SetM2MDstAddress(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t MemoryAddress)
Set the Memory to Memory Destination address.
__STATIC_INLINE void DDL_DMA_SetDataLength(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t NbData)
Set Number of data to transfer.
__STATIC_INLINE uint32_t DDL_DMA_GetM2MSrcAddress(DMA_TypeDef *DMAx, uint32_t Stream)
Get the Memory to Memory Source address.
__STATIC_INLINE void DDL_DMA_DisableDoubleBufferMode(DMA_TypeDef *DMAx, uint32_t Stream)
Disable the double buffer mode.
__STATIC_INLINE uint32_t DDL_DMA_GetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Stream)
Get Memory increment mode.
__STATIC_INLINE void DDL_DMA_DisableStream(DMA_TypeDef *DMAx, uint32_t Stream)
Disable DMA stream.
__STATIC_INLINE void DDL_DMA_EnableStream(DMA_TypeDef *DMAx, uint32_t Stream)
Enable DMA stream.
__STATIC_INLINE uint32_t DDL_DMA_GetDataLength(DMA_TypeDef *DMAx, uint32_t Stream)
Get Number of data to transfer.
__STATIC_INLINE void DDL_DMA_SetCurrentTargetMem(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t CurrentMemory)
Set Current target (only in double buffer mode) to Memory 1 or Memory 0.
__STATIC_INLINE uint32_t DDL_DMA_GetIncOffsetSize(DMA_TypeDef *DMAx, uint32_t Stream)
Get Peripheral increment offset size.
__STATIC_INLINE void DDL_DMA_SetMemory1Address(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Address)
Set Memory 1 address (used in case of Double buffer mode).
__STATIC_INLINE void DDL_DMA_EnableFifoMode(DMA_TypeDef *DMAx, uint32_t Stream)
Enable Fifo mode.
__STATIC_INLINE void DDL_DMA_SetMemoryAddress(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t MemoryAddress)
Set the Memory address.
__STATIC_INLINE void DDL_DMA_SetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t IncrementMode)
Set Peripheral increment mode.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledStream(DMA_TypeDef *DMAx, uint32_t Stream)
Check if DMA stream is enabled or disabled.
__STATIC_INLINE uint32_t DDL_DMA_GetCurrentTargetMem(DMA_TypeDef *DMAx, uint32_t Stream)
Set Current target (only in double buffer mode) to Memory 1 or Memory 0.
__STATIC_INLINE uint32_t DDL_DMA_GetMemoryBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream)
Get Memory burst transfer configuration.
__STATIC_INLINE uint32_t DDL_DMA_GetMode(DMA_TypeDef *DMAx, uint32_t Stream)
Get DMA mode normal, circular or peripheral flow control.
__STATIC_INLINE void DDL_DMA_SetMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Mode)
Set DMA mode normal, circular or peripheral flow control.
__STATIC_INLINE uint32_t DDL_DMA_GetM2MDstAddress(DMA_TypeDef *DMAx, uint32_t Stream)
Get the Memory to Memory Destination address.
__STATIC_INLINE uint32_t DDL_DMA_GetPeriphAddress(DMA_TypeDef *DMAx, uint32_t Stream)
Get the Peripheral address.
__STATIC_INLINE void DDL_DMA_SetIncOffsetSize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t OffsetSize)
Set Peripheral increment offset size.
__STATIC_INLINE uint32_t DDL_DMA_GetFIFOStatus(DMA_TypeDef *DMAx, uint32_t Stream)
Get FIFO status.
__STATIC_INLINE void DDL_DMA_SetM2MSrcAddress(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t MemoryAddress)
Set the Memory to Memory Source address.
__STATIC_INLINE uint32_t DDL_DMA_GetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream)
Get Peripheral increment mode.
__STATIC_INLINE void DDL_DMA_SetFIFOThreshold(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Threshold)
Select FIFO threshold.
__STATIC_INLINE uint32_t DDL_DMA_GetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Stream)
Get Data transfer direction (read from peripheral or from memory).
__STATIC_INLINE void DDL_DMA_EnableDoubleBufferMode(DMA_TypeDef *DMAx, uint32_t Stream)
Enable the double buffer mode.
__STATIC_INLINE void DDL_DMA_ConfigAddresses(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t SrcAddress, uint32_t DstAddress, uint32_t Direction)
Configure the Source and Destination addresses.
__STATIC_INLINE void DDL_DMA_SetPeriphAddress(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t PeriphAddress)
Set the Peripheral address.
__STATIC_INLINE void DDL_DMA_SetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t IncrementMode)
Set Memory increment mode.
__STATIC_INLINE uint32_t DDL_DMA_GetFIFOThreshold(DMA_TypeDef *DMAx, uint32_t Stream)
Get FIFO threshold.
__STATIC_INLINE uint32_t DDL_DMA_GetMemorySize(DMA_TypeDef *DMAx, uint32_t Stream)
Get Memory size.
__STATIC_INLINE uint32_t DDL_DMA_GetPeriphSize(DMA_TypeDef *DMAx, uint32_t Stream)
Get Peripheral size.
__STATIC_INLINE uint32_t DDL_DMA_GetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream)
Get Peripheral burst transfer configuration.
__STATIC_INLINE void DDL_DMA_SetMemorySize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Size)
Set Memory size.
__STATIC_INLINE void DDL_DMA_SetMemoryBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Mburst)
Set Memory burst transfer configuration.
__STATIC_INLINE void DDL_DMA_DisableFifoMode(DMA_TypeDef *DMAx, uint32_t Stream)
Disable Fifo mode.
__STATIC_INLINE void DDL_DMA_SetStreamPriorityLevel(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Priority)
Set Stream priority level.
__STATIC_INLINE void DDL_DMA_ConfigFifo(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t FifoMode, uint32_t FifoThreshold)
Configure the FIFO .
__STATIC_INLINE void DDL_DMA_ConfigTransfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Configuration)
Configure all parameters linked to DMA transfer.
__STATIC_INLINE uint32_t DDL_DMA_GetChannelSelection(DMA_TypeDef *DMAx, uint32_t Stream)
Get the Channel number associated to the Stream.
__STATIC_INLINE void DDL_DMA_SetPeriphSize(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Size)
Set Peripheral size.
__STATIC_INLINE void DDL_DMA_SetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Pburst)
Set Peripheral burst transfer configuration.
__STATIC_INLINE void DDL_DMA_SetChannelSelection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Channel)
Select Channel number associated to the Stream.
__STATIC_INLINE uint32_t DDL_DMA_GetMemory1Address(DMA_TypeDef *DMAx, uint32_t Stream)
Get Memory 1 address (used in case of Double buffer mode).
__STATIC_INLINE void DDL_DMA_SetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Direction)
Set Data transfer direction (read from peripheral or from memory).
__STATIC_INLINE uint32_t DDL_DMA_GetMemoryAddress(DMA_TypeDef *DMAx, uint32_t Stream)
Get the Memory address.
__STATIC_INLINE uint32_t DDL_DMA_GetStreamPriorityLevel(DMA_TypeDef *DMAx, uint32_t Stream)
Get Stream priority level.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC6(DMA_TypeDef *DMAx)
Clear Stream 6 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC5(DMA_TypeDef *DMAx)
Get Stream 5 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME2(DMA_TypeDef *DMAx)
Clear Stream 2 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT3(DMA_TypeDef *DMAx)
Clear Stream 3 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME1(DMA_TypeDef *DMAx)
Get Stream 1 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC0(DMA_TypeDef *DMAx)
Get Stream 0 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME4(DMA_TypeDef *DMAx)
Clear Stream 4 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME3(DMA_TypeDef *DMAx)
Get Stream 3 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME1(DMA_TypeDef *DMAx)
Clear Stream 1 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC2(DMA_TypeDef *DMAx)
Clear Stream 2 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC7(DMA_TypeDef *DMAx)
Clear Stream 7 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE6(DMA_TypeDef *DMAx)
Clear Stream 6 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT1(DMA_TypeDef *DMAx)
Clear Stream 1 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC7(DMA_TypeDef *DMAx)
Get Stream 7 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE2(DMA_TypeDef *DMAx)
Clear Stream 2 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE0(DMA_TypeDef *DMAx)
Get Stream 0 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE4(DMA_TypeDef *DMAx)
Clear Stream 4 transfer error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME3(DMA_TypeDef *DMAx)
Clear Stream 3 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT5(DMA_TypeDef *DMAx)
Get Stream 5 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE2(DMA_TypeDef *DMAx)
Get Stream 2 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE5(DMA_TypeDef *DMAx)
Get Stream 5 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE6(DMA_TypeDef *DMAx)
Get Stream 6 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE2(DMA_TypeDef *DMAx)
Get Stream 2 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT7(DMA_TypeDef *DMAx)
Get Stream 7 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE5(DMA_TypeDef *DMAx)
Get Stream 5 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT1(DMA_TypeDef *DMAx)
Get Stream 1 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC3(DMA_TypeDef *DMAx)
Clear Stream 3 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME7(DMA_TypeDef *DMAx)
Get Stream 7 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE3(DMA_TypeDef *DMAx)
Clear Stream 3 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE6(DMA_TypeDef *DMAx)
Clear Stream 6 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC6(DMA_TypeDef *DMAx)
Get Stream 6 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME0(DMA_TypeDef *DMAx)
Get Stream 0 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC0(DMA_TypeDef *DMAx)
Clear Stream 0 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT0(DMA_TypeDef *DMAx)
Clear Stream 0 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT4(DMA_TypeDef *DMAx)
Clear Stream 4 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME5(DMA_TypeDef *DMAx)
Clear Stream 5 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT2(DMA_TypeDef *DMAx)
Get Stream 2 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME6(DMA_TypeDef *DMAx)
Get Stream 6 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE4(DMA_TypeDef *DMAx)
Get Stream 4 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE6(DMA_TypeDef *DMAx)
Get Stream 6 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE1(DMA_TypeDef *DMAx)
Get Stream 1 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE0(DMA_TypeDef *DMAx)
Get Stream 0 transfer error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC5(DMA_TypeDef *DMAx)
Clear Stream 5 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE5(DMA_TypeDef *DMAx)
Clear Stream 5 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE5(DMA_TypeDef *DMAx)
Clear Stream 5 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC4(DMA_TypeDef *DMAx)
Get Stream 4 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT7(DMA_TypeDef *DMAx)
Clear Stream 7 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE4(DMA_TypeDef *DMAx)
Get Stream 4 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT0(DMA_TypeDef *DMAx)
Get Stream 0 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT4(DMA_TypeDef *DMAx)
Get Stream 4 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE1(DMA_TypeDef *DMAx)
Clear Stream 1 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME7(DMA_TypeDef *DMAx)
Clear Stream 7 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC1(DMA_TypeDef *DMAx)
Get Stream 1 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT6(DMA_TypeDef *DMAx)
Get Stream 6 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE0(DMA_TypeDef *DMAx)
Clear Stream 0 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_HT3(DMA_TypeDef *DMAx)
Get Stream 3 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE3(DMA_TypeDef *DMAx)
Get Stream 3 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME5(DMA_TypeDef *DMAx)
Get Stream 5 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT6(DMA_TypeDef *DMAx)
Clear Stream 6 half transfer flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE3(DMA_TypeDef *DMAx)
Get Stream 3 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC3(DMA_TypeDef *DMAx)
Get Stream 3 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME2(DMA_TypeDef *DMAx)
Get Stream 2 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME6(DMA_TypeDef *DMAx)
Clear Stream 6 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE0(DMA_TypeDef *DMAx)
Clear Stream 0 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_DME4(DMA_TypeDef *DMAx)
Get Stream 4 direct mode error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC1(DMA_TypeDef *DMAx)
Clear Stream 1 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT2(DMA_TypeDef *DMAx)
Clear Stream 2 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_HT5(DMA_TypeDef *DMAx)
Clear Stream 5 half transfer flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE4(DMA_TypeDef *DMAx)
Clear Stream 4 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TC2(DMA_TypeDef *DMAx)
Get Stream 2 transfer complete flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE1(DMA_TypeDef *DMAx)
Clear Stream 1 transfer error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE3(DMA_TypeDef *DMAx)
Clear Stream 3 transfer error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_DME0(DMA_TypeDef *DMAx)
Clear Stream 0 direct mode error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_TE7(DMA_TypeDef *DMAx)
Get Stream 7 transfer error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TE7(DMA_TypeDef *DMAx)
Clear Stream 7 transfer error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE1(DMA_TypeDef *DMAx)
Get Stream 1 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE2(DMA_TypeDef *DMAx)
Clear Stream 2 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_FE7(DMA_TypeDef *DMAx)
Clear Stream 7 FIFO error flag.
__STATIC_INLINE uint32_t DDL_DMA_IsActiveFlag_FE7(DMA_TypeDef *DMAx)
Get Stream 7 FIFO error flag.
__STATIC_INLINE void DDL_DMA_ClearFlag_TC4(DMA_TypeDef *DMAx)
Clear Stream 4 transfer complete flag.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
Check if Transfer complete interrupt is enabled.
__STATIC_INLINE void DDL_DMA_DisableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
Disable Transfer error interrupt.
__STATIC_INLINE void DDL_DMA_EnableIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
Enable Half transfer interrupt.
__STATIC_INLINE void DDL_DMA_DisableIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
Disable Half transfer interrupt.
__STATIC_INLINE void DDL_DMA_DisableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
Disable Transfer complete interrupt.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
Check if Direct mode error interrupt is enabled.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_HT(DMA_TypeDef *DMAx, uint32_t Stream)
Check if Half transfer interrupt is enabled.
__STATIC_INLINE void DDL_DMA_EnableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
Enable Transfer error interrupt.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_TE(DMA_TypeDef *DMAx, uint32_t Stream)
Check if Transfer error nterrup is enabled.
__STATIC_INLINE void DDL_DMA_EnableIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
Enable FIFO error interrupt.
__STATIC_INLINE void DDL_DMA_DisableIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
Disable Direct mode error interrupt.
__STATIC_INLINE uint32_t DDL_DMA_IsEnabledIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
Check if FIFO error interrupt is enabled.
__STATIC_INLINE void DDL_DMA_EnableIT_DME(DMA_TypeDef *DMAx, uint32_t Stream)
Enable Direct mode error interrupt.
__STATIC_INLINE void DDL_DMA_EnableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream)
Enable Transfer complete interrupt.
__STATIC_INLINE void DDL_DMA_DisableIT_FE(DMA_TypeDef *DMAx, uint32_t Stream)
Disable FIFO error interrupt.
uint32_t DDL_DMA_DeInit(DMA_TypeDef *DMAx, uint32_t Stream)
De-initialize the DMA registers to their default reset values.
void DDL_DMA_StructInit(DDL_DMA_InitTypeDef *DMA_InitStruct)
Set each DDL_DMA_InitTypeDef field to default value.
uint32_t DDL_DMA_Init(DMA_TypeDef *DMAx, uint32_t Stream, DDL_DMA_InitTypeDef *DMA_InitStruct)
Initialize the DMA registers according to the specified parameters in DMA_InitStruct.
static const uint8_t STREAM_OFFSET_TAB[]