数据通过DMA传输,过程中能进行修改吗

2019-07-20 15:05发布

实现DMA双缓冲区传输,两个缓冲区buffer1、buffer2,当buffer1进行数据传输时,能对buffer2进行修改吗?能修改的话,在什么时间进行修改?楼主是根据例程18DMA实验进行修改的。
//DMA配置
MYDMA_Config(DMA2_Stream7,DMA_Channel_4,(u32)&USART1->DR,(u32)Buffer1,(u32)Buffer2,30);
//主函数
while(1)
        {
                        t=KEY_Scan(0);
                        if(t==KEY0_PRES)
                        {
                                USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);
                                MYDMA_Enable(DMA2_Stream7,SEND_BUF_SIZE);         
                                while(1)
                                {
                                        if(DMA_GetFlagStatus(DMA2_Stream7,DMA_FLAG_TCIF7)!=RESET)
                                        {
                                                DMA_ClearFlag(DMA2_Stream7,DMA_FLAG_TCIF7);
                                                break;
                      }
                                }
                        }
                        i++;
                        delay_ms(10);
                        if(i==20)
                        {
                                LED0=!LED0;//ìáê¾Ïμí3ÕyÔúÔËDD       
                                i=0;
                        }                  
                       
        }

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