请教大家这个AD采样滤波算法
long last=0,cur=0;//全局变量int AdcFilter(int dat)
{
int ret=0;
cur=last;
cur+=dat;
ret=cur/20;
cur-=ret;
last=cur;
return ret;
}
ADCfilter放在AD采样中断程序中,dat是AD采样的结果,返回的是滤波之后的结果。
现在主要有个疑问:
初始化时last cur为什么是0,应该时前19个数据的和才对 你程序没读全吧,初始化应该last=dat 回复【1楼】packer
-----------------------------------------------------------------------
初始化的时候还没开始采样,dat就不存在,程序是这样的
页:
[1]