我的系统在运行时,有时会遇到ADC采样通过DMA方式获取发送错位
比如说现在定义了几个AD口,
ADC_Init(ADC1,&ADC_InitStructure);
ADC_RegularChannelConfig(ADC1,ADC_Channel_2,1,ADC_SampleTime_55Cycles5);
ADC_RegularChannelConfig(ADC1,ADC_Channel_8,2,ADC_SampleTime_55Cycles5);
ADC_RegularChannelConfig(ADC1,ADC_Channel_9,3,ADC_SampleTime_55Cycles5);
...
在DMA配置里设置了ADC采样的传送数组
DMA_InitStructure.DMA_MemorBaseAddr = (u32)&ADC_ConvertedValue;
在AD采样的时候,程序本来要采样的是ADC_Channel_8通道的AD值是传送到ADC_ConvertedValue[1];
但结果却在ADC_ConvertedValue[2]中,其他的AD采样通过DMA传到该数组的值都依次往后推。
请问哪位大侠有遇到此种现象 |