FU6522_72_DMA.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __FU6522_72_DMA_H__
  2. #define __FU6522_72_DMA_H__
  3. #include <FU6522_72_MCU.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. // DMA Pipe Config
  8. #define DMA_PIPE (DMACFG2 | DMACFG1 | DMACFG0)
  9. #define UART1_XDATA 0x00 // DMA管道--UART1-->XDATA
  10. #define XDATA_UART1 (DMACFG0) // DMA管道--UART1<--XDATA
  11. #define I2C_XDATA (DMACFG1) // DMA管道--I2C -->XDATA
  12. #define XDATA_I2C (DMACFG0 | DMACFG1) // DMA管道--I2C <--XDATA
  13. #define SPI_XDATA (DMACFG2) // DMA管道--SPI -->XDATA
  14. #define XDATA_SPI (DMACFG2 | DMACFG0) // DMA管道--SPI <--XDATA
  15. #define UART2_XDATA (DMACFG2 | DMACFG1) // DMA管道--UART2-->XDATA
  16. #define XDATA_UART2 (DMACFG2 | DMACFG1 | DMACFG0) // DMA管道--UART2<--XDATA
  17. // DMA IE config
  18. #define DMA_IE_EN DMAIE // 使能DMA中断
  19. #define DMA_IE_DIS 0x00 // 禁能DMA中断
  20. // DMA transmission order
  21. #define DMA_FHSB ENDIAN // DMA先发高8位
  22. #define DMA_FLSB 0x00 // DMA先发低8位
  23. #define Wait_DMA(a) while (ReadBit(*(&DMA0_CR0 + a), DMABSY))
  24. #define Switch_DMA(a) SetBit(*(&DMA0_CR0 + a), DMAEN | DMABSY)
  25. void Conf_DMA(uint8_t DMAx, uint8_t DMAPipe, uint16_t DMAAddr, uint8_t DMALen);
  26. #ifdef __cplusplus
  27. }
  28. #endif
  29. #endif