adc循环模式,通过dma传输数据,一次传输完成后如何再开始下一次啊

2019-07-20 14:01发布

我设置adc通过dma模式传输数据,想通过定时器控制每隔一段时间开启一次传输,但是发现进入debug里面,数组的数据无法刷新,但是adc寄存器的数据一直都在刷新,也就是说adc的数据无法通过dma传输,如何我重新初始化adc,结果就可以了,数组的数字可以刷新了。 总之就是想问在adc循环模式,通过dma传输数据的情况下,一次传输完成后如何再开始下一次啊,都需要配置什么啊,还是需要调用哪个函数。把adc什么的全重新初始化一次太占用资源了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
jiutianshenjian
2019-07-20 20:29
1.你定时器用来干嘛,一般用来控制采集间隔时间吧?
   如果是这样,就不能循环,只能单次。不然定时器有什么用,第一次转换完成马上开始另一次转换,定不住啊。
2.dma是随adc完成触发的,处理数据放到dma完成中断里才对。
3.ADC_SoftwareStartConvCmd(ADC1, ENABLE);例程应该有如何使用吧。

你可以把你初始化代码贴出来让论坛的高手给你看看。

一周热门 更多>