LZ上面的FIR是不是有一点语法不对:
int buf[8];
int lowpass()
{
int k = 7;
while(k--)
buf[k] = buf[k-1]; //将buf[6] 移到 buf[7], buf[5] 移到 buf[6],等等,以空出 buf[0]
}
buf[0] = ADC();
return (buf[0] + buf[1] +...+ buf[7]) / 8;
}
改成这样:
int lowpass()
{int buf[8],i;
for(i=0;i<8,i++)
buf[i]=ADC();
return (buf[0] + buf[1] +...+ buf[7]) / 8;
}