stm32 多通道AD和单通道AD的差别

来源:互联网 发布:游戏数据分析 编辑:程序博客网 时间:2024/05/16 10:12

今天萧条了一下 stm32的AD 感觉用起来还是比较顺手的~下面我就总结一下 多通道AD和单通道的一些差别

(1)首先 我们要改的就是vu16 ADC1ConvertedValue[2]; 这个volidate 变量 要设置成数组 因为你要通过AD读取多个值 。

(2)然后是DMA的配置 既然数据是读取到数组中,我们在DMA中要改几样东西 DMA_InitStruct .DMA_MemoryInc=DMA_MemoryInc_Enable;   DMA_InitStruct .DMA_BufferSize=2;这两个很重要 一定要使能 因为内存在增加,

(3)然后是ADC的配置ADC_InitStruct .ADC_ScanConvMode=ENABLE;这句话一定要使能因为他的要采集多路AD所以要用扫描模式,在就是 ADC_InitStruct .ADC_NbrOfChannel=2;因为是多路AD所以 这里的通道个数一定要改变~然后再是

 ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 2, ADC_SampleTime_239Cycles5);
 ADC_RegularChannelConfig(ADC1, ADC_Channel_9, 1, ADC_SampleTime_239Cycles5); 这个就是你定义的多通道AD其中的1,2是你采集通道的顺序,

(4)最后我们就可以顺利的通过多路AD采集数据了~  建议大家使用平均值的方法读数据这样数据会更加准确~