62 lines
1.6 KiB
C
Executable File
62 lines
1.6 KiB
C
Executable File
#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
|
||
|
||
|
||
|
||
/* 配置DMAMUX(DMA多路复用器) */
|
||
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
|
||
|