先上代码,解释后续添加
/*********************************************************************************************************
** Function name: adc_deal
** Descriptions: AD过采样计算 16位过采样
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
u8 adc_deal(AD_PARA* adpara)
{
u16 i,j;
ADC_ok=0;
for(j=0;j<3;j++)
{
for(i=0;i<256;i++)
{
samp[j] +=adc_buff[i][j];
}
samp[j] >>= 4;
cysamp[j]+=samp[j];
samp[j]=0;
}
cyten++;
if (cyten==2)
{
for(j=0;j<3;j++)
{
cysample[j]=cysamp[j]/2;
cysamp[j]=0;
}
cyten=0;
for(j=0;j<3;j++)
{
adpara->TRUTHVAL = adpara->SAMPVAL = filter(ad_samp[j],cysample[j]);
adpara++;
}
return(1);
}
return(0);
}