|
AD_And_Filter( AD_ch){
uint8_t i = 0,j = 0,count=0;
unsigned short min = 0 ,sum=0;
for(i = 0;i < AD_SAMP_SIZE;i++){ //ADC采樣的臨時(shí)存放數(shù)組
AD_Temp_Array = ADC_Process(AD_ch); //對(duì)輸入端電壓進(jìn)行AD采樣
}
for(i = 0;i < AD_SAMP_SIZE;i++){
for(j = i + 1;j <SAMP_SIZE;j++){
if(AD_Temp_Array > AD_Temp_Array[j]){
min = AD_Temp_Array[j];
AD_Temp_Array[j] = AD_Temp_Array;
AD_Temp_Array = min;
}
}
}
for(count=1;count<SAMP_SIZE-1;count++) //連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一個(gè)最小值
sum += AD_Temp_Array[count];
return sum/(SAMP_SIZE-2); //然后計(jì)算N-2個(gè)數(shù)據(jù)的算術(shù)平均值
|
|