C51 COMPILER V9.52.0.0   FU68XX_2_DMA                                                      10/08/2018 13:51:26 PAGE 1   


C51 COMPILER V9.52.0.0, COMPILATION OF MODULE FU68XX_2_DMA
OBJECT MODULE PLACED IN .\Output\FU68xx_2_DMA.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Library\FU68xx_Hardware_Driver\Source\FU68xx_2_DMA.c LARGE OMF2 WARNINGL
                    -EVEL(0) BROWSE INCDIR(..\Library\FU68xx_Hardware_Driver\Include;..\User\Include) DEBUG PRINT(.\Listing\FU68xx_2_DMA.lst)
                    - TABS(2) OBJECT(.\Output\FU68xx_2_DMA.obj)

line level    source

   1          //////////////////////////////////////////////////////////////////////////////////
   2          //文件名：FU6802_DMA.c                                                          //
   3          //说明：FU6802系列芯片的DAM底层驱动                                             //
   4          //Log                                                                           //
   5          //Timer         Writer      Thing                                           Ver //
   6          //                                     V1.8//
   7          //////////////////////////////////////////////////////////////////////////////////
   8          
   9          
  10          #include <FU68xx_2_DMA.h>
  11          #include <FU68xx_2_MCU.h>
  12          
  13          /**
  14           * DMA模块的配置（DMA0/1通用）
  15           *
  16           * @param IEMod  DMA中断配置，可用参数如下
  17           *                   ENIE     启用DMA中断
  18           *                   DISIE    禁用DMA中断
  19           * @param ENDIAN DMA传输顺序（发送十六位数据时适用）
  20           *                   FLSB     低8位先发（发送8位数据时必须选用该项）
  21           *                   FMSB     高8位先发（发送8位数据时必须选用该项）
  22           */
  23          void Init_DMA(uint8 IEMod, uint8 FirstMod)
  24          {
  25   1          DMA0_CR0 = IEMod | FirstMod;
  26   1      }
  27          
  28          /**
  29           * DMA设置
  30           *
  31           * @param   Ch         DMA通道
  32           * @param   Pipe       DMA管道，可选参数如下
  33           *                         UART_XDATA    UART->XDATA
  34           *                         XDATA_UART    UART<-XDATA
  35           *                         I2C_XDATA     I2C ->XDATA
  36           *                         XDATA_I2C     I2C <-XDATA
  37           *                         SPI_XDATA     SPI ->XDATA
  38           *                         XDATA_SPI     SPI <-XDATA
  39           * @param   Addr       传输首地址，可取地址范围：0x0000~0x0317
  40           * @param   Len        数据包大小(1~64)
  41           */
  42          void Set_DMA(uint8 Ch, uint8 Pipe, uint16* Addr, uint8 Len)
  43          {
  44   1          Wait_DMA(Ch);
  45   1          ClrBit(*(&DMA0_CR0 + Ch), DMAEN);
  46   1      
  47   1          SetReg(*(&DMA0_CR0 + Ch), DMACFG0 | DMACFG1 | DMACFG2, Pipe);
  48   1      
  49   1          *(&DMA0_CR1 + Ch) = ((uint16)(Len - 1) << 10) | ((uint16)Addr & 0x03ff);
  50   1      }
  51          
  52          /**
  53           * 设置DMA1的DBG模式
C51 COMPILER V9.52.0.0   FU68XX_2_DMA                                                      10/08/2018 13:51:26 PAGE 2   

  54           *
  55           * @param Addr 要DBG输出的地址
  56           */
  57          void Set_DBG_DMA(uint16* Addr)
  58          {
  59   1          ClrBit(DMA1_CR0, DMAEN);
  60   1          DMA1_CR0 = DBGEN | XDATA_SPI;
  61   1          if (!ReadBit((uint16)Addr, 0x4000)) DMA1_CR0 |= DBGSW;
  62   1      
  63   1          DMA1_CR1 = 0x1c00 | ((uint16)Addr & 0x03fff);
  64   1      
  65   1          Switch_DMA(1);
  66   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    167    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       6
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
