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; //新值 } |
单片机数字滤波 的 一段 代码程序
最新推荐文章于 2022-01-04 20:10:55 发布