大家晚上好!
为什么stm32在进dma中断后关掉dma,执行完以后再打开dma,之后就一直搬运的是ad第一次采集的数据。
不知道为什么,我把dma换成ad也是同样的问题。
dma每次只需完后传输总数就归零了,比如你刚开始配置传输总数是10,那么到传输完成中断发生的时候传输个数寄存器已经递减为0 ,下一次开启dma你不重新写这个10的话是没法正常工作的。
既然是循环模式为啥要关dma?仿真看下源地址 目的地址这些寄存器值。
你如果需要DMA(Circle Mode)+ADC间歇工作,你可以停止ADC采样,DMA不需要关闭。
你的adc是定时器驱动的?那就直接关定时器吧。
学习一下经验
看下大家的方法
学习下大家的经验
学习学习
学到了 谢谢各位的分享