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

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

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

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

有没有一个方法是能够使到定时器每隔5ms就自动触发一次DMA的操作, 而不需要再重新初始化, 求大神指导........ 感激不尽!!!
展开
 我来答
610095871
推荐于2018-04-12 · TA获得超过455个赞
知道小有建树答主
回答量:380
采纳率:100%
帮助的人:271万
展开全部

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


将DMA设置成循环模式。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式