MSP430之ADC采集滤波

占位符

 1     /* 加权平均滤波 */
 2     static unsigned char coe[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13};
 3     static unsigned int coeSum= 1+2+3+4+5+6+7+8+9+10+11+12+13;
 4     unsigned long temp = 0;
 5 
 6     for (i = 0; i<ADCN; i++)
 7     {
 8         temp += arr[i]*coe[i];
 9     }
10     temp = (unsigned long )( temp * 1.0 / coeSum);

占位符

 1 /* 中值滤波 */
 2     unsigned long temp = 0;
 3 
 4     // 选择排序
 5     for (i = 0; i<ADCN-1; i++)
 6     {
 7         k = i;
 8         for (j = i+1; j<ADCN; j++)
 9         {
10             if (arr[j] < arr[k])
11                 k = j;
12         }
13         if (k != i)
14         {
15             temp = arr[k];
16             arr[k] = arr[i];
17             arr[i] = temp;
18         }
19     }
20     temp = arr[ (ADCN - 1) / 2];        //返回中值
原文地址:https://www.cnblogs.com/rongfangliu/p/adcFilter.html