连续多个dma请求,如何解决先后顺序

2019-08-22 14:22发布

file:///

谁做过连续多个dma请求每个的目的 和源地址不同,   怎么高效解决先后顺序? 或者说让dma运行不冲突?
求探讨
我现在发现当上次的dma没运行完  就运行下一个dma了  通过示波器
另外问一下 下面这段代码的dma在运行时两次DMA不会冲突吧

                        DMA1_Channel2        -> CCR &=~ (1<<0);           //关闭DMA
                        DMA1_Channel2 -> CNDTR = 16 ; //连续16次
                        DMA1_Channel2 -> CMAR = (uint32_t)&ALL;//数据存入all
                        DMA1_Channel2 -> CCR |= (1<<0);                        //开启DMA                                               
                        DMA1_Channel1        -> CCR &=~ (1<<0);           //关闭DMA
                        DMA1_Channel1 -> CNDTR = 16 ; //DMA1 传输数据量
                        DMA1_Channel1 -> CMAR = (uint32_t)&ALL;//数据存入all
                        DMA1_Channel1 -> CCR |= (1<<0);                        //开启DMA                                       

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。