44 if((1 << i) & u32Mask)
51 pdma->
CHCTL |= u32Mask;
102void PDMA_SetStride(
PDMA_T * pdma,uint32_t u32Ch, uint32_t u32DestLen, uint32_t u32SrcLen, uint32_t u32TransCount)
105 pdma->
STRIDE[u32Ch].
ASOCR =((u32DestLen-1)<<16) | (u32SrcLen-1);
122void PDMA_SetRepeat(
PDMA_T * pdma,uint32_t u32Ch, uint32_t u32DestInterval, uint32_t u32SrcInterval, uint32_t u32RepeatCount)
125 pdma->
REPEAT[u32Ch].
AICTL =((u32DestInterval)<<16) | (u32SrcInterval);
149 pdma->
DSCT[u32Ch].
SA = u32SrcAddr;
150 pdma->
DSCT[u32Ch].
DA = u32DstAddr;
152 pdma->
DSCT[u32Ch].
CTL |= (u32SrcCtrl | u32DstCtrl);
328 pdma->
DSCT[u32Ch].
CTL |= (u32BurstType | u32BurstSize);
381 pdma->
TOC0_1 = (pdma->
TOC0_1 & ~PDMA_TOC0_1_TOC0_Msk) | u32TimeOutCnt;
391 pdma->
TOUTEN |= (1 << u32Ch);
393 pdma->
TOUTEN &= ~(1 << u32Ch);
410 pdma->
SWREQ = (1ul << u32Ch);
434 pdma->
INTEN |= (1ul << u32Ch);
437 pdma->
DSCT[u32Ch].
CTL &= ~PDMA_DSCT_CTL_TBINTDIS_Msk;
440 pdma->
TOUTIEN |= (1ul << u32Ch);
467 pdma->
INTEN &= ~(1ul << u32Ch);
473 pdma->
TOUTIEN &= ~(1ul << u32Ch);
NuMicro peripheral access layer header file.
#define PDMA_INT_TRANS_DONE
void PDMA_DisableTimeout(PDMA_T *pdma, uint32_t u32Mask)
Disable timeout function.
void PDMA_SetBurstType(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32BurstType, uint32_t u32BurstSize)
Set PDMA Burst Type and Size.
void PDMA_Trigger(PDMA_T *pdma, uint32_t u32Ch)
Trigger PDMA.
void PDMA_Close(PDMA_T *pdma)
PDMA Close.
void PDMA_SetTimeOut(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt)
Set PDMA Timeout Count.
void PDMA_DisableInt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Mask)
Disable Interrupt.
void PDMA_Open(PDMA_T *pdma, uint32_t u32Mask)
PDMA Open.
void PDMA_SetTransferMode(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr)
Set PDMA Transfer Mode.
void PDMA_SetTransferAddr(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl)
Set PDMA Transfer Address.
void PDMA_SetStride(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32DestLen, uint32_t u32SrcLen, uint32_t u32TransCount)
Set PDMA Stride Mode.
void PDMA_SetTransferCnt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Width, uint32_t u32TransCount)
Set PDMA Transfer Count.
void PDMA_SetRepeat(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32DestInterval, uint32_t u32SrcInterval, uint32_t u32RepeatCount)
Set PDMA Repeat.
void PDMA_EnableTimeout(PDMA_T *pdma, uint32_t u32Mask)
Enable timeout function.
void PDMA_EnableInt(PDMA_T *pdma, uint32_t u32Ch, uint32_t u32Mask)
Enable Interrupt.
#define PDMA_REQSEL4_7_REQSRC5_Pos
#define PDMA_REQSEL4_7_REQSRC7_Pos
#define PDMA_REQSEL12_15_REQSRC14_Pos
#define PDMA_REQSEL8_11_REQSRC11_Pos
#define PDMA_REQSEL4_7_REQSRC6_Pos
#define PDMA_REQSEL0_3_REQSRC2_Pos
#define PDMA_DSCT_CTL_TXCNT_Pos
#define PDMA_REQSEL0_3_REQSRC1_Pos
#define PDMA_REQSEL8_11_REQSRC9_Pos
#define PDMA_DSCT_CTL_TXTYPE_Msk
#define PDMA_REQSEL8_11_REQSRC10_Pos
#define PDMA_TOC0_1_TOC1_Pos
#define PDMA_REQSEL12_15_REQSRC13_Pos
#define PDMA_DSCT_CTL_STRIDEEN_Msk
#define PDMA_DSCT_CTL_TXCNT_Msk
#define PDMA_DSCT_CTL_TBINTDIS_Msk
#define PDMA_DSCT_CTL_DAINC_Msk
#define PDMA_DSCT_CTL_BURSIZE_Msk
#define PDMA_REQSEL0_3_REQSRC3_Pos
#define PDMA_DSCT_CTL_TXWIDTH_Msk
#define PDMA_REQSEL12_15_REQSRC15_Pos
#define PDMA_DSCT_CTL_SAINC_Msk
static uint8_t u32ChSelect[PDMA_CH_MAX]
__IO uint32_t REQSEL12_15