?? filter.c
字號:
#include"main.h"
#include"filter.h"
uint filter(uint tem)
{
static uint dat[10] ;
static uint sum , average ;
static uint big1 ,big2 ;
static uchar i , j ;
static uint value ;
j += 1 ;
if(j >= 20)
j = 20 ;
if(abs(tem - average) >5 && j >= 15)
tem = average ;
// else
// {
value = tem ;
big1 = dat[9] ;
dat[9] = dat[8] ;
dat[8] = dat[7] ;
dat[7] = dat[6] ;
dat[6] = dat[5] ;
dat[5] = dat[4] ;
dat[4] = dat[3] ;
dat[3] = dat[2] ;
dat[2] = dat[1] ;
dat[1] = dat[0] ;
dat[0] = value ;
// }
for(i = 9; i < 10; i --) //選出最大的一個
{
if(dat[i] > big1)
{
big1 = dat[i] ;
big2 = i ;
}
}
sum = dat[9] + dat[8] +dat[7] +dat[6] +dat[5] +dat[4] +dat[3] +dat[2] +dat[1] +dat[0] - dat[big2];
average = sum/9 ;
return (average) ;
}
/*
j += 1 ;
if(j >11)
j = 12 ;
big1 = dat[9] ;
dat[9] = dat[8] ;
dat[8] = dat[7] ;
dat[7] = dat[6] ;
dat[6] = dat[5] ;
dat[5] = dat[4] ;
dat[4] = dat[3] ;
dat[3] = dat[2] ;
dat[2] = dat[1] ;
dat[1] = dat[0] ;
dat[0] = temp ;
// display(data_ykong ) ;
for(m = 9; m < 10 ; m --)
{
if(dat[m] > big1)
{
big1 = dat[m] ;
big2 = m ;
}
}
if(j >11)
{
j = 12 ;
sum1 = dat[9] + dat[8] +dat[7] +dat[6] +dat[5] +dat[4] +dat[3] +dat[2] +dat[1] +dat[0] - dat[big2];
average1 = sum1 / 9 ;
// average1 = 1;
for(i = 0 ; i<10 ;i++ )
{
if( (dat[i] - average1 ) > 20 )
{
dat[i] = average1 ;
}
}
sum2 = dat[9] + dat[8] +dat[7] +dat[6] +dat[5] +dat[4] +dat[3] +dat[2] +dat[1] +dat[0] - dat[big2];
average2 = sum2 / 9 ;
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -