自动重装和M2M(软件trig)不能一起使用,否则会停不下来
void MyDMA_Init(uint32_t AddrA,uint32_t AddrB,uint16_t Size){
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
DMA_InitTypeDef DMA_InitStructure;
DMA_InitStructure.DMA_PeripheralBaseAddr=AddrA;//外设起始地址
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Byte ;
DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Enable ;//开启地址自增
DMA_InitStructure.DMA_MemoryBaseAddr=AddrB ;//存储器起始地址
DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte ;
DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable ;
DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC ;//数据传输方向
DMA_InitStructure.DMA_BufferSize=Size ;
DMA_InitStructure.DMA_Mode=DMA_Mode_Normal ;//Circular模式为自动重装,Mode_Normal不自动重装 CircularMode与M2M不能一起使用,否则不能停下
DMA_InitStructure.DMA_M2M=DMA_M2M_Enable ;
DMA_InitStructure.DMA_Priority=DMA_Priority_Medium ;
DMA_Init(DMA1_Channel1,&DMA_InitStructure);
DMA_Cmd(DMA1_Channel1,ENABLE);
}