求大神帮助,, 一个 stm32 定时器 DMA 的问题...

我开启了一个定时器, 想要每隔5ms(计数器溢出时) 就执行一次DMA的操作, 把另外一个定时器(这个用于测量外部脉冲数)计数器寄存器的值放入一个变量中, 这样不用频繁的进入中断...

但是问题来了, DMA只能在第一个5ms到来的时候执行一次赋值到变量, 其它时候那个变量的值就再也不更新了, 也就是DMA没能触发成功...

然后我百度了一下, DMA通道开启普通模式, 在发送完成之后, 需要先关闭DMA通道, 重新配置过DMA的一些参数, 按这样的做法确实能够再重新触发DMA...但这样就要CPU的干预了...

有没有一个方法是能够使到定时器每隔5ms就自动触发一次DMA的操作, 而不需要再重新初始化, 求大神指导........ 感激不尽!!!

可以看下STM32F10x常见应用解析.pdf


将DMA设置成循环模式。

温馨提示:答案为网友推荐,仅供参考