سلام
خیلی ساده!
با توجه به اینکه از کدوم کانال و کدوم dma داری استفاده میکنی، هر جا تو برنامه خواستی ریست کنی این دستورات رو تو برنامه قرار بده:
کد:
/* Disable the selected DMAy Channelx */
DMA1_Channel3->CCR &= (uint16_t)(~DMA_CCR1_EN);
/* Reset DMAy Channelx control register */
DMA1_Channel3->CCR = 0;
/* Reset DMAy Channelx remaining bytes register */
DMA1_Channel3->CNDTR = 0;
/* Reset DMAy Channelx peripheral address register */
DMA1_Channel3->CPAR = 0;
/* Reset DMAy Channelx memory address register */
DMA1_Channel3->CMAR = 0;
/* Reset interrupt pending bits for DMA1 Channel1 */
DMA1->IFCR |= DMA1_Channel3_IT_Mask_;
البته حواست باشه دوباره فعالش کنی!