HAL_ADC_Start_DMA只要开启一次就可以传输?

2019-07-20 08:53发布

如题,HAL_ADC_Start_DMA只要开启一次就可以传输?

                HAL_ADC_Start_DMA(&ADC1_Handler, (uint32_t*)uhADCxConvertedValue1, 100);就是ADC采集了100个数据,DMA传递完100个数据才产生传输完成中断?
再继续采集的话要不要再次调用这个函数?
@大佬

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 10:34
是的,继续调用,而且在前面还要加入代码,重新设置dma计数器值。参考们例程。
进无止境6A
2楼-- · 2019-07-20 16:09
 精彩回答 2  元偷偷看……
hanzixi_angel
3楼-- · 2019-07-20 19:14
需要配置dma采集方式  你可以选择循环   这样就可以不停的进行采集了  你只需要从buf里面取数据就行  也可以选择正常模式  这种情况下就采集一次
进无止境6A
4楼-- · 2019-07-21 00:49
hanzixi_angel 发表于 2018-3-30 15:24
需要配置dma采集方式  你可以选择循环   这样就可以不停的进行采集了  你只需要从buf里面取数据就行  也可 ...

DMA循环模式,对了,循环模式DMA会一直填充新数据覆盖旧数据?HAL_ADC_Start_DMA后ADC和DMA会一直工作吗?
进无止境6A
5楼-- · 2019-07-21 01:52
 精彩回答 2  元偷偷看……
进无止境6A
6楼-- · 2019-07-21 05:06
dma循环模式,然后在传输完成中断里面打印值,结果只能持续打印ch出adc第一次的值,不知道哪里出错了
这个问题没人能解吗

一周热门 更多>