请问下各位,我用TL431做基准电压(2.5V),为什么采集的数据在输入电压高的时候,采集的数据最大与最小差有1000左右,输入电压小时也有100左右的差,数据很不稳定,这时怎么回事啊?(输入电压小于2.5V,且很稳定)
void ADCIN_Init(void)
{
GPIO_Init(GPIOA, GPIO_Pin_4, GPIO_Mode_In_FL_No_IT);
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
CLK_PeripheralClockConfig(CLK_Peripheral_DMA1, ENABLE);
ADC_DeInit(ADC1);
ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolu
tion_12Bit, ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
ADC_Cmd(ADC1, ENABLE);
ADC_ChannelCmd(ADC1,ADC_Channel_2,ENABLE);
}
void ADCread(void)
{
u8 i=0;
for(i=0;i<30;i++)
{
ADC_SoftwareStartConv(ADC1);
while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==0);
data[i]=ADC_GetConversionValue(ADC1);
}