FU68xx_5_DMA.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /**
  2. * @file FU6522_DMA.h
  3. * @version V1.0.0
  4. * @author FortiorTech Hardware Team
  5. * @date 2021-07-15 20:51:30
  6. * @brief This file contains ...
  7. *
  8. * @copyright Copyright(C) 2022, Fortior Technology Co., Ltd. All rights reserved.
  9. */
  10. #ifndef __FU6522_DMA_H__
  11. #define __FU6522_DMA_H__
  12. // Include external header file.
  13. #include <FU6522_MCU.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /**************************************************************************************************///Define Macro
  18. // DMA Pipe Config
  19. #define DMA_PIPE (DMACFG2 | DMACFG1 | DMACFG0)
  20. #define UART1_XDATA 0x00 // DMA管道--UART1-->XDATA
  21. #define XDATA_UART1 (DMACFG0) // DMA管道--UART1<--XDATA
  22. #define I2C_XDATA (DMACFG1) // DMA管道--I2C -->XDATA
  23. #define XDATA_I2C (DMACFG0 | DMACFG1) // DMA管道--I2C <--XDATA
  24. #define SPI_XDATA (DMACFG2) // DMA管道--SPI -->XDATA
  25. #define XDATA_SPI (DMACFG2 | DMACFG0) // DMA管道--SPI <--XDATA
  26. #define UART2_XDATA (DMACFG2 | DMACFG1) // DMA管道--UART2-->XDATA
  27. #define XDATA_UART2 (DMACFG2 | DMACFG1 | DMACFG0) // DMA管道--UART2<--XDATA
  28. // DMA IE config
  29. #define DMA_IE_EN DMAIE // 使能DMA中断
  30. #define DMA_IE_DIS 0x00 // 禁能DMA中断
  31. // DMA transmission order
  32. #define DMA_FHSB ENDIAN // DMA先发高8位
  33. #define DMA_FLSB 0x00 // DMA先发低8位
  34. /**************************************************************************************************///Define Global Symbols
  35. /**************************************************************************************************///Function Subject
  36. #define Wait_DMA(a) while (ReadBit(*(&DMA0_CR0 + a), DMABSY))
  37. #define Switch_DMA(a) SetBit(*(&DMA0_CR0 + a), DMAEN | DMABSY)
  38. extern void Init_DMA(uint8 DMAIrq, uint8 DMAFMod);
  39. extern void Conf_DMA(uint8 DMAx, uint8 DMAPipe, uint16 DMAAddr, uint8 DMALen);
  40. //extern void Set_DBG_DMA(uint16 DMAAddr);
  41. #ifdef __cplusplus
  42. }
  43. #endif
  44. #endif //__FU6522_DMA_H__
  45. /*** (C) Copyright 2022 Fortior Technology Co., Ltd. ***/