我15年的时候用的STM32F0xx的库,移植到GD32F130是OK的,我不知道怎么上传附件,直接贴代码了。 
 
void  dmaInit (void) 
{ 
    DMA_InitTypeDef  tDmaInitStruct; 
     
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);                  /* 使能DMA1时钟                 */ 
    DMA_DeInit(DMA1_Channel1); 
    tDmaInitStruct.DMA_PeripheralBaseAddr = ADC1_DR_Address;            /* 外设基地址                   */ 
    tDmaInitStruct.DMA_MemoryBaseAddr     = (INT32U)&usAdcValue;        /* 内存基地址                   */ 
    tDmaInitStruct.DMA_DIR                = DMA_DIR_PeripheralSRC;      /* DMA传输方向                  */ 
    tDmaInitStruct.DMA_BufferSize         = 2;                          /* DMA缓冲区为2个               */ 
    tDmaInitStruct.DMA_PeripheralInc      = DMA_PeripheralInc_Disable; 
                                                                        /* 外设基地址不增加             */ 
    tDmaInitStruct.DMA_MemoryInc          = DMA_MemoryInc_Enable;       /* 内存基地址增加               */ 
    tDmaInitStruct.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; 
    tDmaInitStruct.DMA_MemoryDataSize     = DMA_MemoryDataSize_HalfWord; 
    tDmaInitStruct.DMA_Mode               = DMA_Mode_Circular;          /* 循环模式                     */ 
    tDmaInitStruct.DMA_Priority           = DMA_Priority_High; 
    tDmaInitStruct.DMA_M2M                = DMA_M2M_Disable;            /* 禁止内存到内存               */ 
     
    DMA_Init(DMA1_Channel1, &tDmaInitStruct); 
    DMA_Cmd(DMA1_Channel1, ENABLE);                                     /* DMA功能使能                  */ 
}
 |