STM32G474xx HAL User Manual
函数
配置
DMA导出函数

函数

__STATIC_INLINE void LL_DMA_EnableChannel (DMA_TypeDef *DMAx, uint32_t Channel)
 启用DMA通道。
__STATIC_INLINE void LL_DMA_DisableChannel (DMA_TypeDef *DMAx, uint32_t Channel)
 禁用DMA通道。
__STATIC_INLINE uint32_t LL_DMA_IsEnabledChannel (DMA_TypeDef *DMAx, uint32_t Channel)
 检查DMA通道是启用还是禁用。
__STATIC_INLINE void LL_DMA_ConfigTransfer (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Configuration)
 配置与DMA传输相关的所有参数。
__STATIC_INLINE void LL_DMA_SetDataTransferDirection (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Direction)
 设置数据传输方向(从外设或从内存读取)。
__STATIC_INLINE uint32_t LL_DMA_GetDataTransferDirection (DMA_TypeDef *DMAx, uint32_t Channel)
 获取数据传输方向(从外设或从内存读取)。
__STATIC_INLINE void LL_DMA_SetMode (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Mode)
 设置DMA模式为循环或正常。
__STATIC_INLINE uint32_t LL_DMA_GetMode (DMA_TypeDef *DMAx, uint32_t Channel)
 获取DMA模式为循环或正常。
__STATIC_INLINE void LL_DMA_SetPeriphIncMode (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphOrM2MSrcIncMode)
 设置外设递增模式。
__STATIC_INLINE uint32_t LL_DMA_GetPeriphIncMode (DMA_TypeDef *DMAx, uint32_t Channel)
 获取外设递增模式。
__STATIC_INLINE void LL_DMA_SetMemoryIncMode (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryOrM2MDstIncMode)
 设置内存递增模式。
__STATIC_INLINE uint32_t LL_DMA_GetMemoryIncMode (DMA_TypeDef *DMAx, uint32_t Channel)
 获取内存递增模式。
__STATIC_INLINE void LL_DMA_SetPeriphSize (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphOrM2MSrcDataSize)
 设置外设数据宽度。
__STATIC_INLINE uint32_t LL_DMA_GetPeriphSize (DMA_TypeDef *DMAx, uint32_t Channel)
 获取外设数据宽度。
__STATIC_INLINE void LL_DMA_SetMemorySize (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryOrM2MDstDataSize)
 设置内存数据宽度。
__STATIC_INLINE uint32_t LL_DMA_GetMemorySize (DMA_TypeDef *DMAx, uint32_t Channel)
 获取内存数据宽度。
__STATIC_INLINE void LL_DMA_SetChannelPriorityLevel (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Priority)
 设置通道优先级。
__STATIC_INLINE uint32_t LL_DMA_GetChannelPriorityLevel (DMA_TypeDef *DMAx, uint32_t Channel)
 获取通道优先级。
__STATIC_INLINE void LL_DMA_SetDataLength (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t NbData)
 设置要传输的数据数量。
__STATIC_INLINE uint32_t LL_DMA_GetDataLength (DMA_TypeDef *DMAx, uint32_t Channel)
 获取要传输的数据数量。
__STATIC_INLINE void LL_DMA_ConfigAddresses (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t SrcAddress, uint32_t DstAddress, uint32_t Direction)
 配置源地址和目标地址。
__STATIC_INLINE void LL_DMA_SetMemoryAddress (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
 设置内存地址。
__STATIC_INLINE void LL_DMA_SetPeriphAddress (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphAddress)
 设置外设地址。
__STATIC_INLINE uint32_t LL_DMA_GetMemoryAddress (DMA_TypeDef *DMAx, uint32_t Channel)
 获取内存地址。
__STATIC_INLINE uint32_t LL_DMA_GetPeriphAddress (DMA_TypeDef *DMAx, uint32_t Channel)
 获取外设地址。
__STATIC_INLINE void LL_DMA_SetM2MSrcAddress (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
 设置内存到内存传输的源地址。
__STATIC_INLINE void LL_DMA_SetM2MDstAddress (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
 设置内存到内存传输的目标地址。
__STATIC_INLINE uint32_t LL_DMA_GetM2MSrcAddress (DMA_TypeDef *DMAx, uint32_t Channel)
 获取内存到内存传输的源地址。
__STATIC_INLINE uint32_t LL_DMA_GetM2MDstAddress (DMA_TypeDef *DMAx, uint32_t Channel)
 获取内存到内存传输的目标地址。
__STATIC_INLINE void LL_DMA_SetPeriphRequest (DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphRequest)
 设置DMA实例在通道x上的DMA请求。
__STATIC_INLINE uint32_t LL_DMA_GetPeriphRequest (DMA_TypeDef *DMAx, uint32_t Channel)
 获取DMA实例在通道x上的DMA请求。

函数文档

__STATIC_INLINE void LL_DMA_ConfigAddresses ( DMA_TypeDef *  DMAx,
uint32_t  Channel,
uint32_t  SrcAddress,
uint32_t  DstAddress,
uint32_t  Direction 
)

配置源地址和目标地址。

注意:
不能对已启用的DMA通道调用此API。
每个使用DMA的外设都提供了一个API用于直接获取寄存器地址(LL_PPP_DMA_GetRegAddr)。
参考手册到LL API交叉引用:
CPAR PA LL_DMA_ConfigAddresses
CMAR MA LL_DMA_ConfigAddresses
参数:
DMAxDMAx实例
Channel该参数可以是以下值之一:
SrcAddress介于Min_Data = 0和Max_Data = 0xFFFFFFFF之间
DstAddress介于Min_Data = 0和Max_Data = 0xFFFFFFFF之间
Direction该参数可以是以下值之一:
返回值:

定义于文件1054,来源为stm32g4xx_ll_dma.h

参考LL_DMA_DIRECTION_MEMORY_TO_PERIPH