u16 TP_Read_XOY(u8 xy) { u16 i, j; u16 buf[READ_TIMES]; u16 sum=0; u16 temp; for(i=0;i<READ_TIMES;i++)buf[i]=TP_Read_AD(xy); for(i=0;i<READ_TIMES-1; i++)//排序 { for(j=i+1;j<READ_TIMES;j++) { if(buf[i]>buf[j])//升序排列 { temp=buf[i]; buf[i]=buf[j]; buf[j]=temp; } } } sum=0; for(i=LOST_VAL;i<READ_TIMES-LOST_VAL;i++)sum+=buf[i]; temp=sum/(READ_TIMES-2*LOST_VAL); return temp; }
unsigned int TP_Read_XY(unsigned char xy) { unsigned int i, j ; unsigned int buf[READ_TIMES] ; unsigned temp,sum = 0 ; for(i=0;i<READ_TIMES;i++) buf[i]=TP_Read_AD(xy) ; for(i=0;i<READ_TIMES-1; i++) //排序 { for(j=i+1;j<READ_TIMES;j++) { if(buf[i]>buf[j]) //升序排列 { temp = buf[i] ; buf[i] = buf[j] ; buf[j] = temp ; } } } for(i=LOST_VAL;i<READ_TIMES-LOST_VAL;i++) sum += buf[i] ; sum /=(READ_TIMES-2*LOST_VAL) ; return sum ; }