#ifndef __FU6522_72_DMA_H__ #define __FU6522_72_DMA_H__ #include #ifdef __cplusplus extern "C" { #endif // DMA Pipe Config #define DMA_PIPE (DMACFG2 | DMACFG1 | DMACFG0) #define UART1_XDATA 0x00 // DMA管道--UART1-->XDATA #define XDATA_UART1 (DMACFG0) // DMA管道--UART1<--XDATA #define I2C_XDATA (DMACFG1) // DMA管道--I2C -->XDATA #define XDATA_I2C (DMACFG0 | DMACFG1) // DMA管道--I2C <--XDATA #define SPI_XDATA (DMACFG2) // DMA管道--SPI -->XDATA #define XDATA_SPI (DMACFG2 | DMACFG0) // DMA管道--SPI <--XDATA #define UART2_XDATA (DMACFG2 | DMACFG1) // DMA管道--UART2-->XDATA #define XDATA_UART2 (DMACFG2 | DMACFG1 | DMACFG0) // DMA管道--UART2<--XDATA // DMA IE config #define DMA_IE_EN DMAIE // 使能DMA中断 #define DMA_IE_DIS 0x00 // 禁能DMA中断 // DMA transmission order #define DMA_FHSB ENDIAN // DMA先发高8位 #define DMA_FLSB 0x00 // DMA先发低8位 #define Wait_DMA(a) while (ReadBit(*(&DMA0_CR0 + a), DMABSY)) #define Switch_DMA(a) SetBit(*(&DMA0_CR0 + a), DMAEN | DMABSY) void Conf_DMA(uint8_t DMAx, uint8_t DMAPipe, uint16_t DMAAddr, uint8_t DMALen); #ifdef __cplusplus } #endif #endif