单片机数字滤波 的 一段 代码程序

来源:互联网 发布:mac如何升级到10.12 编辑:程序博客网 时间:2024/05/17 02:23
unsigned int   filter_method(void)
{
   unsigned int new_value,value;

        aa=ReadADC();
       value=aa;
        if(value > 8366)    //这个值是一个你不要的值  如果字在 8342-8366 之间跳  这个 8366肯定是我们不要的直接去掉
       return;
       aa=ReadADC();
       new_value = aa; 
      if(new_value > 8366)     
             return;
      if ( ( new_value - value > 1 ) || ( value - new_value > 1 ) )  如果在正负1之间跳滤波法 这个用于 NTC测温很好 一点都不跳 你也可以改为2或3;
      return  value;                      //原来的值
      return  new_value;             //新值

}
0 0