CH582F多通道ADC采样的问题,急急急

   我是这样初始化的:


   GPIOA_ModeCfg(GPIO_Pin_14, GPIO_ModeIN_Floating);    //channnel 4

    ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);


    GPIOA_ModeCfg(GPIO_Pin_13, GPIO_ModeIN_Floating);    //channnel 3

    ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);


    GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating);    //channnel 2

    ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);


    GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating);    //channnel 1

    ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);


    GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_Floating);    //channnel 0

    ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);


   然后是这样采集的

   while(1)

  {

     ADC_ChannelCfg(4);

    adcData0 = ADC_ExcutSingleConver();


    

    ADC_ChannelCfg(3);

    adcData1 = ADC_ExcutSingleConver();


    

    ADC_ChannelCfg(2);

    adcData2= ADC_ExcutSingleConver();


    

    ADC_ChannelCfg(1);

    adcData3 = ADC_ExcutSingleConver();


    

    ADC_ChannelCfg(0);

    adcData4 = ADC_ExcutSingleConver();


  }


结果我会发现当channel3的芯片管脚电压不变的情况时候,改变channel4的电压会影响到adcData1 ,其余三个通道不会收到影响。


可以将PA13接到固定电平上例如VCC上,然后将PA14分别接到VCC/GND上,并查看channel3的电压情况。

在配置为悬空之后,可以试下延时200ms再进行采集ADC数据。


AIN13通道电压变化会影响AIN2通道采样值,什么原因,是芯片BUG吗,怎么规避???


AIN13通道输入电压变化会影响AIN2通道采样值,什么原因,是芯片BUG吗,怎么规避???



 理论上不会有影响,需要注意,AIN13默认是PA9,也就是串口打印的TX脚,如果需要测试ADC的这两个引脚,将打印切换为其他引脚,然后再ADC采集。


已解决,是AIN未接到有效输入信号导致,管脚float时会受到其他通道干扰


只有登录才能回复,可以选择微信账号登录