有效值计算,AD采样 值为0~1023变化,要求均方根,但发现普通的写法出来的值一直跳动(用电位器一个固定电压模拟),有没有好的写法
uint ad[6][25];
uint adavg[5];
float adRMS;
unsigned long int adrms[5];
void ADC_countRMS(uchar chan)
{
adrms[chan]=0;
for(adcal=0;adcal<=25;adcal++)
{
adrms[chan] = adrms[chan]+ad[chan][adcal]*ad[chan][adcal];
}
adrms[chan] = adrms[chan]/26;
adRMS = sqrt(adrms[chan]);
adRMS = adRMS/3*2;
} |