ST社区自助问题 发表于 2017-3-24 16:14:21

DMA的普通模式,在中断里面又重新开启传输,为什么更新.....

DMA的普通模式,在中断里面又重新开启传输,为啥后面的值一直不更新了,始终是第一次得到的值,代码在下面,哪里错了呢?要如何解决啊?

jtc_88 发表于 2017-5-2 07:53:37

ADC 有单次模式 循环模式;DMA有单次 有循环模式 ;

无薪税绵 发表于 2017-5-2 08:21:32

NUM_COV_ADC是等于4吗?
如果不是的话,数据有可能被覆盖了。

海迹天涯 发表于 2017-5-2 08:41:16

帮你顶起

endsoing 发表于 2017-5-2 10:23:46

DMA有单次 有循环模式,为什么还要在中断处理中进行启停?中断直接读DMA缓存,转储。

cldym 发表于 2017-5-2 11:49:51

帮你顶起

yygkqzh 发表于 2017-5-3 21:04:12

我以前也碰到过这个情况,不过用的不是HAL库,用的是官方的库,后来解决了,具体怎么结局的记不清了。
不够有一个办法可以解决,你把DMA初始化的函数放到图中回调函数中,你会发现重新开启成功了。
所以你只需要做的就是重新写一个DMA初始化函数,函数里面的内容和上一个一模一样,然后删除一句,测试一下成功与否,最后不能删除的几句留着就OK了。
重数笨办法,但是能解决你的问题。
页: [1]
查看完整版本: DMA的普通模式,在中断里面又重新开启传输,为什么更新.....