STM8多路AD采样问题

2019-07-19 20:08发布

我在用多路ADC采样时出现一个问题 假如我初始化设置的通道为AIN4  采样的时候先采AIN3采样再AIN4采样 但采样出来的结果是反过来的 AIN3的采样值变为AIN4的采样值 AIN3的采样值是AIN3的采样值  假如我初始化的通道为AIN5 采样的时候先采AIN3采样再AIN5采样,采样出来的结果是AIN3的采样值是AIN4的采样值 AIN3的采样值为AIN3的采样值,高手求救 原子哥求救
void ADC_Init(void)
{
   ADC1_DeInit();
   
   ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_4, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_ALL, DISABLE); //单次转换 通道4 2分频 内部定时器1的TRG事件关 右对齐 

   ADC1_ITConfig(ADC1_IT_AWDIE, DISABLE);  看门狗中断关闭
   ADC1_ITConfig(ADC1_IT_EOCIE, DISABLE);
/*
  ADC1_Cmd(ENABLE);
*/
}
void main()
{
        ADC_Init();
        ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_3, ADC1_ALIGN_RIGHT);     //AIN3
        ADC1_StartConversion();
      Conversion_Value = ADC1_GetConversionValue(); 
      AD_Value[0]=Conversion_Value;
        ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_4, ADC1_ALIGN_RIGHT);     //AIN4
        ADC1_StartConversion();
      Conversion_Value = ADC1_GetConversionValue(); 
      AD_Value[1]=Conversion_Value;

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。