| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #ifndef __FU6522_72_DMA_H__
- #define __FU6522_72_DMA_H__
- #include <FU6522_72_MCU.h>
- #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
|