求大神帮助,, 一个 stm32 定时器 DMA 的问题...
我开启了一个定时器,想要每隔5ms(计数器溢出时)就执行一次DMA的操作,把另外一个定时器(这个用于测量外部脉冲数)计数器寄存器的值放入一个变量中,这样不用频繁的进入中断...
我开启了一个定时器, 想要每隔5ms(计数器溢出时) 就执行一次DMA的操作, 把另外一个定时器(这个用于测量外部脉冲数)计数器寄存器的值放入一个变量中, 这样不用频繁的进入中断...
但是问题来了, DMA只能在第一个5ms到来的时候执行一次赋值到变量, 其它时候那个变量的值就再也不更新了, 也就是DMA没能触发成功...
然后我百度了一下, DMA通道开启普通模式, 在发送完成之后, 需要先关闭DMA通道, 重新配置过DMA的一些参数, 按这样的做法确实能够再重新触发DMA...但这样就要CPU的干预了...
有没有一个方法是能够使到定时器每隔5ms就自动触发一次DMA的操作, 而不需要再重新初始化, 求大神指导........ 感激不尽!!! 展开
但是问题来了, DMA只能在第一个5ms到来的时候执行一次赋值到变量, 其它时候那个变量的值就再也不更新了, 也就是DMA没能触发成功...
然后我百度了一下, DMA通道开启普通模式, 在发送完成之后, 需要先关闭DMA通道, 重新配置过DMA的一些参数, 按这样的做法确实能够再重新触发DMA...但这样就要CPU的干预了...
有没有一个方法是能够使到定时器每隔5ms就自动触发一次DMA的操作, 而不需要再重新初始化, 求大神指导........ 感激不尽!!! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询