递推平均滤波法(又称滑动平均滤波法)
#define N 12
char value_buf[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buf[i++] = get_ad();
if ( i == N ) i = 0;
for ( count=0;count<N,count++)
sum = value_buf[count];//?????
return (char)(sum/N);
}
那个value_buf就付了一次值,如何求平均?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
- uint ad_filter(uchar channel)
- {
- /*递推平均滤波法(又称滑动平均滤波法)*/
- #define N 12 //滤波初始化
- uint value_buf[N];
- uchar count;
- uint sum=0;
- uchar i=0;
- for(count=0;count<N;count++)
- {
- value_buf[i++]=MessAD(channel);
- sum+=value_buf[count];
- }
- return (sum/N);
- }
复制代码一周热门 更多>