CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 类型定义 | 枚举 | 函数

CI130X芯片dma驱动 更多...

结构体

struct  LLI_Control
 DMA的链表传输配置结构体 更多...
 
struct  dma_config_t
 FLASH的DMA传输配置结构体 更多...
 

类型定义

typedef void(* dma_callback_func_ptr_t) (void)
 dma完成回调函数指针 更多...
 

枚举

enum  DMACChannelx {
  DMACChannel0 = 0,
  DMACChannel1 = 1,
  DMACChannelALL = 9
}
 DMA 通道选择 更多...
 
enum  DMAC_AHBMasterx {
  DMAC_AHBMaster1 = 0,
  DMAC_AHBMaster2 = 1
}
 DMA master选择 更多...
 
enum  ENDIANMODE {
  LittleENDIANMODE = 0,
  BigENDIANMODE = 1
}
 DMA 数据大小端选择 更多...
 
enum  INCREMENTx {
  INCREMENT = 1,
  NOINCREMENT = 0
}
 DMA 地址递增选择 更多...
 
enum  TRANSFERWIDTHx {
  TRANSFERWIDTH_8b = 0,
  TRANSFERWIDTH_16b = 1,
  TRANSFERWIDTH_32b = 2
}
 DMA 数据宽度选择 更多...
 
enum  BURSTSIZEx {
  BURSTSIZE1 = 0,
  BURSTSIZE4 = 1,
  BURSTSIZE8 = 2,
  BURSTSIZE16 = 3,
  BURSTSIZE32 = 4,
  BURSTSIZE64 = 5,
  BURSTSIZE128 = 6,
  BURSTSIZE256 = 7
}
 DMA 突发传输大小选择 更多...
 
enum  DMAC_ACCESS_MODE {
  DMAC_ACCESS_USERMODE = 0,
  DMAC_ACCESS_PRIVILEGEDMODE = 1
}
 DMA的访问模式选择 更多...
 
enum  BUFFERABLEx {
  BUFFERABLE = 1,
  NONBUFFERABLE = 0
}
 DMA的缓冲配置选择 更多...
 
enum  CACHEABLEx {
  CACHEABLE = 1,
  NONCACHEABLE = 0
}
 DMA的cache缓冲配置选择 更多...
 
enum  CHANNELINTMASKx {
  CHANNELINTMASK_ITC = 15,
  CHANNELINTMASK_IE = 14
}
 DMA的中断选择 更多...
 
enum  DMAC_FLOWCTRL {
  M2M_DMA = 0,
  M2P_DMA = 1,
  P2M_DMA = 2,
  M2P_P = 5,
  P2M_P = 6
}
 DMA的传输方向选择 更多...
 
enum  DMAC_Peripherals {
  DMAC_Peripherals_SPI0 = 0,
  DMAC_Peripherals_UART0_RX = 4,
  DMAC_Peripherals_UART0_TX = 5,
  DMAC_Peripherals_UART1_RX = 6,
  DMAC_Peripherals_UART1_TX = 7,
  DMAC_Peripherals_UART2_RX = 8,
  DMAC_Peripherals_UART2_TX = 9
}
 DMA的外设选择 更多...
 

函数

void clear_dma_translate_flag (DMACChannelx dmachannel)
 清除dma中断标志 更多...
 
int wait_dma_translate_flag (DMACChannelx dmachannel, uint32_t timeout)
 等待dma中断标志 更多...
 
void dma_without_os_int (void)
 使用全局变量设置中断触发状态,并清除中断 更多...
 
void dma_irq_handler (void)
 DMA中断处理函数 更多...
 
int DMAC_IntStatus (DMACChannelx dmachannel)
 DMA通道屏蔽后的中断状态(只要有通道传输完成中断或者通道传输错误中断的一个) 更多...
 
int DMAC_IntTCStatus (DMACChannelx dmachannel)
 DMA通道传输完成中断状态 更多...
 
void DMAC_IntTCClear (DMACChannelx dmachannel)
 清除DMA通道传输完成中断状态 更多...
 
int DMAC_IntErrorStatus (DMACChannelx dmachannel)
 DMA通道传输错误中断状态 更多...
 
void DMAC_IntErrorClear (DMACChannelx dmachannel)
 清除DMA通道传输错误中断状态 更多...
 
int DMAC_RawIntTCStatus (DMACChannelx dmachannel)
 DMA通道原始的(屏蔽前)中断状态(只要有通道传输完成中断或者通道传输错误中断的一个) 更多...
 
int DMAC_RawErrorIntStatus (DMACChannelx dmachannel)
 DMA通道传输错误原始(屏蔽前)中断状态 更多...
 
int DMAC_ChannelEnableStatus (DMACChannelx dmachannel)
 DMA通道使能状态 更多...
 
void DMAC_SoftwareBurstReq (DMACChannelx dmachannel)
 DMA通道软件突发传输请求 更多...
 
void DMAC_SoftwareSingleReq (DMACChannelx dmachannel)
 DMA通道软件单次传输请求 更多...
 
void DMAC_SoftwareLastBurstReq (DMACChannelx dmachannel)
 DMA通道软件最后一次突发传输请求 更多...
 
void DMAC_SoftwareLastSingleReq (DMACChannelx dmachannel)
 DMA通道软件最后一次单次传输请求 更多...
 
void DMAC_Config (DMAC_AHBMasterx dmamaster, ENDIANMODE endianmode)
 DMA控制器AHB MASTER 字节端序的配置 更多...
 
void DMAC_EN (FunctionalState cmd)
 DMA控制器使能 更多...
 
void DMAC_ChannelSoureAddr (DMACChannelx dmachannel, unsigned int addr)
 DMA通道源地址配置 更多...
 
void DMAC_ChannelDestAddr (DMACChannelx dmachannel, unsigned int addr)
 DMA通道目标地址配置 更多...
 
void DMAC_ChannelLLI (DMACChannelx dmachannel, unsigned int dmalli, DMAC_AHBMasterx dmamaster)
 DMA通道 LLI 配置 更多...
 
void DMAC_ChannelSourceConfig (DMACChannelx dmachannel, INCREMENTx inc, DMAC_AHBMasterx dmamaster, TRANSFERWIDTHx transferwidth, BURSTSIZEx brustsize)
 DMA通道源的相关配置 更多...
 
void DMAC_ChannelDestConfig (DMACChannelx dmachannel, INCREMENTx inc, DMAC_AHBMasterx dmamaster, TRANSFERWIDTHx transferwidth, BURSTSIZEx brustsize)
 DMA通道目标的相关配置 更多...
 
void DMAC_ChannelTCInt (DMACChannelx dmachannel, FunctionalState cmd)
 DMA通道传输完成中断使能配置 更多...
 
void DMAC_ChannelProtectionConfig (DMACChannelx dmachannel, DMAC_ACCESS_MODE access_mode, BUFFERABLEx bufferable, CACHEABLEx cacheable)
 DMA通道保护位的设置 更多...
 
void DMAC_ChannelTransferSize (DMACChannelx dmachannel, unsigned short size)
 DMA通道传输大小配置 更多...
 
unsigned int DMAC_ChannelCurrentTransferSize (DMACChannelx dmachannel)
 当前DMA通道,还剩余多少数据尚未传输,以字节为单位 更多...
 
void DMAC_ChannelDisable (DMACChannelx dmachannel)
 DMA通道传输禁止 更多...
 
void DMAC_ChannelEnable (DMACChannelx dmachannel)
 DMA通道传输使能 更多...
 
void DMAC_ChannelInterruptMask (DMACChannelx dmachannel, CHANNELINTMASKx channelintmask, FunctionalState cmd)
 DMA通道中断屏蔽配置 更多...
 
void DMAC_ChannelPowerDown (DMACChannelx dmachannel, FunctionalState cmd)
 DMA通道传输Power控制 更多...
 
void DMAC_ChannelHalt (DMACChannelx dmachannel, FunctionalState cmd)
 DMA通道传输(中停)Halt 更多...
 
void DMAC_ChannelConfig (DMACChannelx dmachannel, char destperiph, char srcperiph, DMAC_FLOWCTRL flowctrl)
 DMA通道其他相关配置 更多...
 
void DMAC_ChannelLock (DMACChannelx dmachannel, FunctionalState cmd)
 DMA通道传输锁 更多...
 
void DMAC_M2MConfig (DMACChannelx dmachannel, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize, DMAC_AHBMasterx master)
 DMA通道传输 内存到内存 更多...
 
void DMAC_M2P_P2M_advance_config (DMACChannelx dmachannel, DMAC_Peripherals periph, DMAC_FLOWCTRL flowctrl, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize, TRANSFERWIDTHx datawidth, BURSTSIZEx burstsize, DMAC_AHBMasterx master)
 DMA通道传输 内存到外设,外设到内存 更多...
 
void DMAC_M2P_P2MConfig (DMACChannelx dmachannel, DMAC_Peripherals periph, DMAC_FLOWCTRL flowctrl, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize)
 DMA通道传输 内存到外设,外设到内存 更多...
 
void spic_dma_config (DMACChannelx channel, dma_config_t *config)
 配置FLASH的DMA传输 更多...
 
unsigned int DMAC_LLIContrlreturn (LLI_Control *lli_ctrl)
 DMA 链表配置结构体初始化 更多...
 
void DMAC_ChannelLLIControl (DMACChannelx dmachannel, unsigned int val)
 DMA配置控制寄存器 更多...
 

详细描述

CI130X芯片dma驱动


结构体说明

◆ LLI_Control

struct LLI_Control

DMA的链表传输配置结构体

成员变量
DMAC_ACCESS_MODE AccessMode

访问模式

BUFFERABLEx BufferAble

缓冲使能

CACHEABLEx CacheAble

cache缓冲使能

BURSTSIZEx DestBurstSize

目的突发传输大小

INCREMENTx DestInc

目的地址递增

DMAC_AHBMasterx DestMaster

目的master

TRANSFERWIDTHx DestTransferWidth

目的传输数据宽度

BURSTSIZEx SrcBurstSize

源突发传输大小

INCREMENTx SrcInc

源地址递增

DMAC_AHBMasterx SrcMaster

源master

TRANSFERWIDTHx SrcTransferWidth

源传输数据宽度

FunctionalState TCInt

传输完成中断使能

unsigned short TransferSize

单次链表传输大小

◆ dma_config_t

struct dma_config_t

FLASH的DMA传输配置结构体

成员变量
BURSTSIZEx busrtsize

突发传输大小

uint32_t destaddr

传输目的地址

DMAC_FLOWCTRL flowctrl

流控类型选择

uint32_t srcaddr

传输源地址

uint32_t transfersize

传输数据大小

TRANSFERWIDTHx transferwidth

传输数据宽度

类型定义说明

◆ dma_callback_func_ptr_t

typedef void(* dma_callback_func_ptr_t) (void)

dma完成回调函数指针

枚举类型说明

◆ BUFFERABLEx

DMA的缓冲配置选择

枚举值
BUFFERABLE 

缓冲使能配置

NONBUFFERABLE 

无缓冲配置

◆ BURSTSIZEx

DMA 突发传输大小选择

枚举值
BURSTSIZE1 

突发传输大小为1

BURSTSIZE4 

突发传输大小为4

BURSTSIZE8 

突发传输大小为8

BURSTSIZE16 

突发传输大小为16

BURSTSIZE32 

突发传输大小为32

BURSTSIZE64 

突发传输大小为64

BURSTSIZE128 

突发传输大小为128

BURSTSIZE256 

突发传输大小为256

◆ CACHEABLEx

DMA的cache缓冲配置选择

枚举值
CACHEABLE 

cache缓冲使能配置

NONCACHEABLE 

无cache缓冲配置

◆ CHANNELINTMASKx

DMA的中断选择

枚举值
CHANNELINTMASK_ITC 

传输完成中断

CHANNELINTMASK_IE 

传输错误中断

◆ DMAC_ACCESS_MODE

DMA的访问模式选择

枚举值
DMAC_ACCESS_USERMODE 

访问模式为用户模式

DMAC_ACCESS_PRIVILEGEDMODE 

访问模式为特权模式

◆ DMAC_AHBMasterx

DMA master选择

枚举值
DMAC_AHBMaster1 

DMA AHB Master1

DMAC_AHBMaster2 

DMA AHB Master2

◆ DMAC_FLOWCTRL

DMA的传输方向选择

枚举值
M2M_DMA 

内存到内存

M2P_DMA 

内存到外设

P2M_DMA 

外设到内存

M2P_P 

内存到外设再到外设

P2M_P 

外设到内存再到外设

◆ DMAC_Peripherals

DMA的外设选择

枚举值
DMAC_Peripherals_SPI0 

外设QSPI0,传输FLASH数据

DMAC_Peripherals_UART0_RX 

外设UART0_RX

DMAC_Peripherals_UART0_TX 

外设UART0_TX

DMAC_Peripherals_UART1_RX 

外设UART1_RX

DMAC_Peripherals_UART1_TX 

外设UART1_TX

DMAC_Peripherals_UART2_RX 

外设UART2_RX

DMAC_Peripherals_UART2_TX 

外设UART2_TX

◆ DMACChannelx

DMA 通道选择

枚举值
DMACChannel0 

DMA通道0

DMACChannel1 

DMA通道1

DMACChannelALL 

DMA所有通道

◆ ENDIANMODE

DMA 数据大小端选择

枚举值
LittleENDIANMODE 

小端数据格式,低字节存放低地址

BigENDIANMODE 

大端数据格式,低字节存放高地址

◆ INCREMENTx

DMA 地址递增选择

枚举值
INCREMENT 

地址递增

NOINCREMENT 

地址不递增

◆ TRANSFERWIDTHx

DMA 数据宽度选择

枚举值
TRANSFERWIDTH_8b 

数据宽度为8bit

TRANSFERWIDTH_16b 

数据宽度为16bit

TRANSFERWIDTH_32b 

数据宽度为32bit

函数说明

◆ clear_dma_translate_flag()

void clear_dma_translate_flag ( DMACChannelx  dmachannel)

清除dma中断标志

参数
dmachannelDMA通道选择

◆ dma_irq_handler()

void dma_irq_handler ( void  )

DMA中断处理函数

◆ dma_without_os_int()

void dma_without_os_int ( void  )

使用全局变量设置中断触发状态,并清除中断

◆ DMAC_ChannelConfig()

void DMAC_ChannelConfig ( DMACChannelx  dmachannel,
char  destperiph,
char  srcperiph,
DMAC_FLOWCTRL  flowctrl 
)

DMA通道其他相关配置

参数
dmachannelDMA通道选择
destperiph目标外设
srcperiph源外设
flowctrl流控类型选择

◆ DMAC_ChannelCurrentTransferSize()

unsigned int DMAC_ChannelCurrentTransferSize ( DMACChannelx  dmachannel)

当前DMA通道,还剩余多少数据尚未传输,以字节为单位

参数
dmachannelDMA通道选择
返回
剩余的,尚未传输的数据长度

◆ DMAC_ChannelDestAddr()

void DMAC_ChannelDestAddr ( DMACChannelx  dmachannel,
unsigned int  addr 
)

DMA通道目标地址配置

参数
dmachannelDMA通道选择
addr目标地址

◆ DMAC_ChannelDestConfig()

void DMAC_ChannelDestConfig ( DMACChannelx  dmachannel,
INCREMENTx  inc,
DMAC_AHBMasterx  dmamaster,
TRANSFERWIDTHx  transferwidth,
BURSTSIZEx  brustsize 
)

DMA通道目标的相关配置

参数
dmachannelDMA通道选择
inc目标地址是否增长,INCREMENT,增长;NOINCREMENT,不增长
dmamaster目标 搬运使用的DMA AHB master接口,
transferwidth目标 传输数据的位宽
brustsize目标 突发传输的大小

◆ DMAC_ChannelDisable()

void DMAC_ChannelDisable ( DMACChannelx  dmachannel)

DMA通道传输禁止

参数
dmachannelDMA通道选择

◆ DMAC_ChannelEnable()

void DMAC_ChannelEnable ( DMACChannelx  dmachannel)

DMA通道传输使能

参数
dmachannelDMA通道选择

◆ DMAC_ChannelEnableStatus()

int DMAC_ChannelEnableStatus ( DMACChannelx  dmachannel)

DMA通道使能状态

参数
dmachannelDMA通道选择
返回
0,该通道没有被使能;非0,该通道已使能

◆ DMAC_ChannelHalt()

void DMAC_ChannelHalt ( DMACChannelx  dmachannel,
FunctionalState  cmd 
)

DMA通道传输(中停)Halt

参数
dmachannelDMA通道选择
cmdENABLE 传输被Halt;DISABLE 传输不Halt

◆ DMAC_ChannelInterruptMask()

void DMAC_ChannelInterruptMask ( DMACChannelx  dmachannel,
CHANNELINTMASKx  channelintmask,
FunctionalState  cmd 
)

DMA通道中断屏蔽配置

参数
dmachannelDMA通道选择
channelintmaskCHANNELINTMASK_ITC 传输完成中断;CHANNELINTMASK_IE 传输错误中断
cmdENABLE,屏蔽;DISABLE,不屏蔽

◆ DMAC_ChannelLLI()

void DMAC_ChannelLLI ( DMACChannelx  dmachannel,
unsigned int  dmalli,
DMAC_AHBMasterx  dmamaster 
)

DMA通道 LLI 配置

参数
dmalli下一个LLI结构体的首地址,(该地址必须是4字节边界对齐),LLI结构体必须依次包含:源地址、目标地址、下一个LLI的首地址、通道控制寄存器
dmamaster加载LLI的AHB MASTER

◆ DMAC_ChannelLLIControl()

void DMAC_ChannelLLIControl ( DMACChannelx  dmachannel,
unsigned int  val 
)

DMA配置控制寄存器

参数
dmachannelDMA通道选择
val配置的寄存器值

◆ DMAC_ChannelLock()

void DMAC_ChannelLock ( DMACChannelx  dmachannel,
FunctionalState  cmd 
)

DMA通道传输锁

参数
dmachannelDMA通道选择
cmdENABLE 传输锁住;DISABLE 传输不锁

◆ DMAC_ChannelPowerDown()

void DMAC_ChannelPowerDown ( DMACChannelx  dmachannel,
FunctionalState  cmd 
)

DMA通道传输Power控制

参数
dmachannelDMA通道选择
cmdENABLE Power关闭;DISABLE Power打开

◆ DMAC_ChannelProtectionConfig()

void DMAC_ChannelProtectionConfig ( DMACChannelx  dmachannel,
DMAC_ACCESS_MODE  access_mode,
BUFFERABLEx  bufferable,
CACHEABLEx  cacheable 
)

DMA通道保护位的设置

参数
dmachannelDMA通道选择
access_mode访问模式,DMAC_ACCESS_USERMODE 用户模式;DMAC_ACCESS_PRIVILEGEDMODE,特权模式
bufferable缓冲使能设置,NONBUFFERABLE 无缓冲;BUFFERABLE 缓冲使能
cacheablecache缓存使能设置,CACHEABLE cache使能;NONCACHEABLE 无cache

◆ DMAC_ChannelSourceConfig()

void DMAC_ChannelSourceConfig ( DMACChannelx  dmachannel,
INCREMENTx  inc,
DMAC_AHBMasterx  dmamaster,
TRANSFERWIDTHx  transferwidth,
BURSTSIZEx  brustsize 
)

DMA通道源的相关配置

参数
dmachannelDMA通道选择
inc源地址是否增长,INCREMENT,增长;NOINCREMENT,不增长
dmamaster源 搬运使用的DMA AHB master接口,
transferwidth源 传输数据的位宽
brustsize源 突发传输的大小

◆ DMAC_ChannelSoureAddr()

void DMAC_ChannelSoureAddr ( DMACChannelx  dmachannel,
unsigned int  addr 
)

DMA通道源地址配置

参数
dmachannelDMA通道选择
addr源地址

◆ DMAC_ChannelTCInt()

void DMAC_ChannelTCInt ( DMACChannelx  dmachannel,
FunctionalState  cmd 
)

DMA通道传输完成中断使能配置

参数
dmachannelDMA通道选择
cmdENABLE,中断使能;DISABLE,中断禁止

◆ DMAC_ChannelTransferSize()

void DMAC_ChannelTransferSize ( DMACChannelx  dmachannel,
unsigned short  size 
)

DMA通道传输大小配置

参数
dmachannelDMA通道选择
size传输大小(1~4095),如果为0,DMA不会进行数据传输

◆ DMAC_Config()

void DMAC_Config ( DMAC_AHBMasterx  dmamaster,
ENDIANMODE  endianmode 
)

DMA控制器AHB MASTER 字节端序的配置

参数
dmamasterDMAC_AHBMaster1,DMAC_AHBMaster2
endianmodeLittleENDIANMODE 小端,低字节存放低地址;BigENDIANMODE,大端,低字节存放高地址

◆ DMAC_EN()

void DMAC_EN ( FunctionalState  cmd)

DMA控制器使能

参数
cmdENABLE,使能;DISABLE,禁止

◆ DMAC_IntErrorClear()

void DMAC_IntErrorClear ( DMACChannelx  dmachannel)

清除DMA通道传输错误中断状态

参数
dmachannelDMA通道选择

◆ DMAC_IntErrorStatus()

int DMAC_IntErrorStatus ( DMACChannelx  dmachannel)

DMA通道传输错误中断状态

参数
dmachannelDMA通道选择
返回
0,该通道无传输错误中断;非0,该通道有传输错误中断

◆ DMAC_IntStatus()

int DMAC_IntStatus ( DMACChannelx  dmachannel)

DMA通道屏蔽后的中断状态(只要有通道传输完成中断或者通道传输错误中断的一个)

参数
dmachannelDMA通道选择
返回
int 0,该通道无中断;非0,该通道有中断

◆ DMAC_IntTCClear()

void DMAC_IntTCClear ( DMACChannelx  dmachannel)

清除DMA通道传输完成中断状态

参数
dmachannelDMA通道选择

◆ DMAC_IntTCStatus()

int DMAC_IntTCStatus ( DMACChannelx  dmachannel)

DMA通道传输完成中断状态

参数
dmachannelDMA通道选择
返回
int 0,该通道无传输完成中断;非0,该通道有传输完成中断

◆ DMAC_LLIContrlreturn()

unsigned int DMAC_LLIContrlreturn ( LLI_Control lli_ctrl)

DMA 链表配置结构体初始化

参数
lli_ctrl链表传输配置结构体

◆ DMAC_M2MConfig()

void DMAC_M2MConfig ( DMACChannelx  dmachannel,
unsigned int  srcaddr,
unsigned int  destaddr,
unsigned int  bytesize,
DMAC_AHBMasterx  master 
)

DMA通道传输 内存到内存

注解
必须给出合法地址, 实际的物理地址
参数
dmachannelDMA通道选择
srcaddr源地址
destaddr目标地址
bytesize传输的字节数
mastermaster选择

◆ DMAC_M2P_P2M_advance_config()

void DMAC_M2P_P2M_advance_config ( DMACChannelx  dmachannel,
DMAC_Peripherals  periph,
DMAC_FLOWCTRL  flowctrl,
unsigned int  srcaddr,
unsigned int  destaddr,
unsigned int  bytesize,
TRANSFERWIDTHx  datawidth,
BURSTSIZEx  burstsize,
DMAC_AHBMasterx  master 
)

DMA通道传输 内存到外设,外设到内存

注解
不支持外设到外设,必须给出合法地址, 实际的物理地址
参数
dmachannelDMA通道选择
periph外设 DMAC_Peripherals_SPI0, QSPI0 控制器(发送和接收同一个)。 DMAC_Peripherals_UART0_RX, UART0 接收。 DMAC_Peripherals_UART0_TX, UART0 发送。 DMAC_Peripherals_UART1_RX, UART1 接收。 DMAC_Peripherals_UART1_TX, UART1 发送。 DMAC_Peripherals_UART2_RX, UART2 接收。 DMAC_Peripherals_UART2_TX, UART2 发送。
flowctrl传输方向,M2P_DMA:内存到外设;P2M_DMA 外设到内存
srcaddr源地址
destaddr目标地址
bytesize传输的字节数
datawidth数据宽度
burstsize突发传输大小
mastermaster选择

◆ DMAC_M2P_P2MConfig()

void DMAC_M2P_P2MConfig ( DMACChannelx  dmachannel,
DMAC_Peripherals  periph,
DMAC_FLOWCTRL  flowctrl,
unsigned int  srcaddr,
unsigned int  destaddr,
unsigned int  bytesize 
)

DMA通道传输 内存到外设,外设到内存

注解
不支持外设到外设,必须给出合法地址, 实际的物理地址
参数
dmachannelDMA通道选择
periph外设 DMAC_Peripherals_SPI0, QSPI0 控制器(发送和接收同一个)。 DMAC_Peripherals_UART0_RX, UART0 接收。 DMAC_Peripherals_UART0_TX, UART0 发送。 DMAC_Peripherals_UART1_RX, UART1 接收。 DMAC_Peripherals_UART1_TX, UART1 发送。 DMAC_Peripherals_UART2_RX, UART2 接收。 DMAC_Peripherals_UART2_TX, UART2 发送。
flowctrl传输方向,M2P_DMA:内存到外设;P2M_DMA 外设到内存
srcaddr源地址
destaddr目标地址
bytesize传输的字节数

◆ DMAC_RawErrorIntStatus()

int DMAC_RawErrorIntStatus ( DMACChannelx  dmachannel)

DMA通道传输错误原始(屏蔽前)中断状态

参数
dmachannelDMA通道选择
返回
0,该通道无传输错误中断;非0,该通道有传输错误中断

◆ DMAC_RawIntTCStatus()

int DMAC_RawIntTCStatus ( DMACChannelx  dmachannel)

DMA通道原始的(屏蔽前)中断状态(只要有通道传输完成中断或者通道传输错误中断的一个)

参数
dmachannelDMA通道选择
返回
0,该通道无中断;非0,该通道有中断

◆ DMAC_SoftwareBurstReq()

void DMAC_SoftwareBurstReq ( DMACChannelx  dmachannel)

DMA通道软件突发传输请求

参数
dmachannelDMA通道选择

◆ DMAC_SoftwareLastBurstReq()

void DMAC_SoftwareLastBurstReq ( DMACChannelx  dmachannel)

DMA通道软件最后一次突发传输请求

参数
dmachannelDMA通道选择

◆ DMAC_SoftwareLastSingleReq()

void DMAC_SoftwareLastSingleReq ( DMACChannelx  dmachannel)

DMA通道软件最后一次单次传输请求

参数
dmachannelDMA通道选择

◆ DMAC_SoftwareSingleReq()

void DMAC_SoftwareSingleReq ( DMACChannelx  dmachannel)

DMA通道软件单次传输请求

参数
dmachannelDMA通道选择

◆ spic_dma_config()

void spic_dma_config ( DMACChannelx  channel,
dma_config_t config 
)

配置FLASH的DMA传输

参数
channelDMA通道选择
config配置结构体

◆ wait_dma_translate_flag()

int wait_dma_translate_flag ( DMACChannelx  dmachannel,
uint32_t  timeout 
)

等待dma中断标志

参数
dmachannelDMA通道选择
timeout超时时间
返回
int 0,等到标志;非0,超时