自学内容网 自学内容网

[stm32]DMA使用

自动重装和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);
    
    
   
}


原文地址:https://blog.csdn.net/weixin_46855342/article/details/137481928

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!