多通道AD采集+DMA

2019-07-20 15:40发布

现在要用405做多通道采集,STM32cubemx配置已经完成了,如图1和图2。但是在编程的时候由于对AD采集不太了解,所以不知道从哪里入手。我看原子提供的AD程序,看到是用的是非扫描模式、非连续转换,然后在main循环中不断调用ADC_SoftwareStartConv(ADC1)函数进行AD采集。我现在已经配置了ADC1的16个通道,ADC3的4个通道,然后采用扫描模式、连续转换,然后用DMA方式。我不太了解的是编程过程应该是什么样的。是不是直接用HAL_ADC_Start(&hadc1)开启ADC1的采集之后就会连续采集16个通道,然后再开启ADC3(HAL_ADC_Start(&hadc3))采集4个通道?那么这些数据存在哪里呢?还是说用HAL_ADC_Start_DMA(&hadc1, uint32_t* pData, uint32_t Length)这个函数就可以直接把ADC1的16路通道采集一遍,然后可以把数据存到定义的pData里?另外,我理解的cube已经把AD和DMA的初始化做好了,那么在进行采集之前还需要做什么配置?如果我想对每个通道采集5次之后再采集接着的通道,应该怎么做?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。