DMA_BufferSize用以定义指定DMA通道的DMA缓存的大小,不一定需要与通道数量一样,根据需要设置不同长度。
ADC多通道时,通道的数据会按顺序存在目标地址。
ADC_InitStructure.ADC_ScanConvMode = ENABLE;//扫描方式,这个一定要打开
ADC_RegularChannelConfig(ADC1, ADC_Channel_0 , 1, ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_239Cycles5);
设置好采集顺序,dma会先发送先采集的通道的数据,后发送后采集的通道的数据。
第二个方法是可行的,不过需要你在DMA中断里改变目的地址。
在中断里首先禁止DMA,接着修改目的地址,然后再使能DMA。
本文标签:stm32f767的adc加dma