Files
CHJ/user/MCU/lhl_dma.h
2026-03-20 21:16:58 +08:00

62 lines
1.6 KiB
C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __LHL_DMA_H__
#define __LHL_DMA_H__
#ifndef ENABLE_USER_UART
#pragma message("[undefined] ENABLE_USER_UART")
#elif(ENABLE_USER_UART)
#define DMA_CHANNEL_UART_Rx DMA_CHANNEL_0
#define DMA_CHANNEL_UART_Tx DMA_CHANNEL_0
#define DMA_CHANNEL_BtimCfg DMA_CHANNEL_1
//DMA采集
#define DMA_CHANNEL_ADC_0 DMA_CHANNEL_2
#define DMA_CHANNEL_ADC_1 DMA_CHANNEL_3
//DMA序列采集
#define DMA_CHANNEL_ADC_STA DMA_CHANNEL_ADC_0
#define DMA_CHANNEL_ADC_CTL DMA_CHANNEL_ADC_1
#endif
#ifndef ENABLE_USER_I2C
#pragma message("[undefined] ENABLE_USER_I2C")
#elif(ENABLE_USER_I2C)
#define DMA_CHANNEL_I2C_Rx DMA_CHANNEL_0
#define DMA_CHANNEL_I2C_Tx DMA_CHANNEL_1
#define DMA_CHANNEL_ADC_0 DMA_CHANNEL_2
#define DMA_CHANNEL_ADC_1 DMA_CHANNEL_3
#define DMA_CHANNEL_ADC_STA DMA_CHANNEL_ADC_0
#define DMA_CHANNEL_ADC_CTL DMA_CHANNEL_ADC_1
#endif
/* 配置DMAMUXDMA多路复用器 */
void DMA_DMAMUX_CFG(DMA_CHANNEL_t channel,DMAMUX_REQ_SRC_t source);
/*============================================================================
DMA 中断回调函数
============================================================================*/
typedef void (*dma_half_irq_callback_t)(void);
typedef void (*dma_major_irq_callback_t)(void);
typedef struct {
dma_half_irq_callback_t half_callback;
dma_major_irq_callback_t major_callback;
} dma_callbacks_t;
void DMA_register_irq_callback(DMA_CHANNEL_t dmachannel, dma_half_irq_callback_t dma_half_irq_callback ,dma_major_irq_callback_t dma_major_irq_callback);
#endif