DAM初始化结构体
DMA: 1 次请求传输 1 个数据块,支持连锁传输功能,可实现 1 次请求传输多个数据块。
数据块最小为 1 个数据,最多可以是 1024 个数据,每个数据的宽度可配置为 8bit,16bit 或 32bit。
/* DMA 初始化结构体: */
typedef struct stc_dma_config
{
uint16_t u16BlockSize; ///< 设置数据块的大小, 0~1023 (0表示1024,即1块有1024个数据)
uint16_t u16TransferCnt; ///< 总的传输次数,每次请求(DMA触发源触发一次)启动一个数据块的传输
uint32_t u32SrcAddr; ///< 源地址
uint32_t u32DesAddr; ///< 目标地址
uint16_t u16SrcRptSize; ///< 源地址重复区域大小
uint16_t u16DesRptSize; ///< 目标地址重复区域大小
uint32_t u32DmaLlp; ///< 连锁传输的链指针
stc_dma_nseq_cfg_t stcSrcNseqCfg; ///< 不连续源地址
stc_dma_nseq_cfg_t stcDesNseqCfg; ///< 不连续目标地址
stc_dma_ch_cfg_t stcDmaChCfg; ///< 通道设置,见下面的结构体
}stc_dma_config_t;
typedef struct stc_dma_ch_cfg
{
en_dma_address_mode_t enSrcInc; ///< DMA 源地址模式(自增,自减,不变)
en_dma_address_mode_t enDesInc; ///< DMA 目标地址模式(自增,自减,不变)
en_functional_state_t enSrcRptEn; ///< 源地址重复使能
en_functional_state_t enDesRptEn; ///< 目标地址重复使能
en_functional_state_t enSrcNseqEn; ///< 不连续源地址使能
en_functional_state_t enDesNseqEn; ///< 不连续目标地址使能
en_functional_state_t enLlpEn; ///< 连锁传输使能
en_dma_llp_mode_t enLlpMd; ///< 连锁传输模式
en_dma_transfer_width_t enTrnWidth; ///< 1个数据的宽度
en_functional_state_t enIntEn; ///< 使能中断
}stc_dma_ch_cfg_t;
typedef struct stc_dma_nseq_cfg
{
uint32_t u32Offset; ///&l