37 #if defined( DMA_PRESENT )
246 #if defined( _DMA_LOOP0_MASK ) && defined( _DMA_LOOP1_MASK )
256 } DMA_CfgLoop_TypeDef;
260 #if defined( _DMA_RECT0_MASK )
272 } DMA_CfgRect_TypeDef;
364 unsigned int nMinus1);
370 unsigned int nMinus1);
375 unsigned int primNMinus1,
378 unsigned int altNMinus1);
387 #if defined( _DMA_LOOP0_MASK ) && defined( _DMA_LOOP1_MASK )
388 void DMA_CfgLoop(
unsigned int channel, DMA_CfgLoop_TypeDef *cfg);
391 #if defined( _DMA_RECT0_MASK )
392 void DMA_CfgRect(
unsigned int channel, DMA_CfgRect_TypeDef *cfg);
395 #if defined( _DMA_LOOP0_MASK ) && defined( _DMA_LOOP1_MASK )
403 __STATIC_INLINE
void DMA_ResetLoop(
unsigned int channel)
409 DMA->LOOP0 = _DMA_LOOP0_RESETVALUE;
412 DMA->LOOP1 = _DMA_LOOP1_RESETVALUE;
421 #if defined( _DMA_RECT0_MASK )
429 __STATIC_INLINE
void DMA_ResetRect(
unsigned int channel)
434 DMA->RECT0 = _DMA_RECT0_RESETVALUE;
450 unsigned int nMinus1,
537 return DMA->IF & ien;
__STATIC_INLINE void DMA_IntSet(uint32_t flags)
Set one or more pending DMA interrupts.
DMA_DataSize_TypeDef size
#define _DMA_CTRL_R_POWER_2
DMA_ArbiterConfig_TypeDef arbRate
DMA_DataInc_TypeDef dstInc
__STATIC_INLINE void DMA_IntDisable(uint32_t flags)
Disable one or more DMA interrupts.
Callback structure that can be used to define DMA complete actions.
DMA_ArbiterConfig_TypeDef arbRate
#define _DMA_CTRL_R_POWER_1
#define _DMA_CTRL_SRC_SIZE_HALFWORD
void DMA_CfgDescrScatterGather(DMA_DESCRIPTOR_TypeDef *descr, unsigned int indx, DMA_CfgDescrSGAlt_TypeDef *cfg)
Configure an alternate DMA descriptor for use with scatter-gather DMA cycles.
void DMA_IRQHandler(void)
Interrupt handler for DMA cycle completion handling.
__STATIC_INLINE uint32_t DMA_IntGet(void)
Get pending DMA interrupt flags.
DMA_CB_TypeDef * cb
User definable callback handling configuration.
DMA_DataInc_TypeDef srcInc
DMA_ArbiterConfig_TypeDef
#define _DMA_CTRL_SRC_INC_BYTE
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define _DMA_CTRL_SRC_INC_HALFWORD
__STATIC_INLINE void DMA_IntClear(uint32_t flags)
Clear one or more pending DMA interrupts.
bool DMA_ChannelEnabled(unsigned int channel)
Check if DMA channel is enabled.
#define _DMA_CTRL_SRC_INC_WORD
#define _DMA_CTRL_R_POWER_4
void DMA_RefreshPingPong(unsigned int channel, bool primary, bool useBurst, void *dst, const void *src, unsigned int nMinus1, bool last)
Refresh a descriptor used in a DMA ping-pong cycle.
void DMA_ChannelRequestEnable(unsigned int channel, bool enable)
Enable or disable a DMA channel request.
#define _DMA_CTRL_CYCLE_CTRL_MEM_SCATTER_GATHER
void DMA_Reset(void)
Reset the DMA controller.
void(* DMA_FuncPtr_TypeDef)(unsigned int channel, bool primary, void *user)
DMA interrupt callback function pointer.
void DMA_ActivateBasic(unsigned int channel, bool primary, bool useBurst, void *dst, const void *src, unsigned int nMinus1)
Activate DMA basic cycle (used for memory-peripheral transfers).
void DMA_ActivatePingPong(unsigned int channel, bool useBurst, void *primDst, const void *primSrc, unsigned int primNMinus1, void *altDst, const void *altSrc, unsigned int altNMinus1)
Activate DMA ping-pong cycle (used for memory-peripheral transfers).
#define _DMA_CTRL_R_POWER_128
void DMA_Init(DMA_Init_TypeDef *init)
Initializes DMA controller.
void DMA_CfgChannel(unsigned int channel, DMA_CfgChannel_TypeDef *cfg)
Configure a DMA channel.
#define _DMA_CTRL_CYCLE_CTRL_BASIC
#define _DMA_CTRL_R_POWER_1024
DMA_DataSize_TypeDef size
#define _DMA_CTRL_R_POWER_16
#define _DMA_CTRL_R_POWER_8
DMA_DataInc_TypeDef srcInc
#define _DMA_CTRL_CYCLE_CTRL_PINGPONG
DMA_DataInc_TypeDef dstInc
#define _DMA_CTRL_SRC_SIZE_WORD
#define _DMA_CTRL_CYCLE_CTRL_PER_SCATTER_GATHER
DMA_DESCRIPTOR_TypeDef * controlBlock
__STATIC_INLINE uint32_t DMA_IntGetEnabled(void)
Get enabled and pending DMA interrupt flags. Useful for handling more interrupt sources in the same i...
#define _DMA_CTRL_R_POWER_256
#define _DMA_CTRL_SRC_INC_NONE
#define _DMA_CTRL_CYCLE_CTRL_AUTO
DMA_FuncPtr_TypeDef cbFunc
#define _DMA_CTRL_SRC_SIZE_BYTE
__STATIC_INLINE void DMA_IntEnable(uint32_t flags)
Enable one or more DMA interrupts.
void DMA_ActivateScatterGather(unsigned int channel, bool useBurst, DMA_DESCRIPTOR_TypeDef *altDescr, unsigned int count)
Activate DMA scatter-gather cycle (used for either memory-peripheral or memory-memory transfers)...
#define _DMA_CTRL_R_POWER_64
#define _DMA_CTRL_R_POWER_32
#define _DMA_CTRL_R_POWER_512
void DMA_ActivateAuto(unsigned int channel, bool primary, void *dst, const void *src, unsigned int nMinus1)
Activate DMA auto-request cycle (used for memory-memory transfers).
void DMA_ChannelEnable(unsigned int channel, bool enable)
Enable or disable a DMA channel.
void DMA_CfgDescr(unsigned int channel, bool primary, DMA_CfgDescr_TypeDef *cfg)
Configure DMA descriptor for auto-request, basic or ping-pong DMA cycles.