ulong  FilterDatChannel1(ulong datBuf[],ulong temp) 
{ 
 uchar i; 
 //static xdata ulong datBuf[8] = {0}; 
 static uchar datCount; 
  xdata ulong sum = 0; 
 datBuf[datCount] = temp; 
 for(i = 0; i< 8; i++) 
  sum += datBuf[i]; 
 sum = (ulong)(sum >> 3);//求均值 
 datCount++; 
 if(datCount == 8) 
  datCount = 0; 
 return sum; 
} 
我在调用这个函数时,在外部定义了6个ulong 型的数组,是用来存储6个AD分别采样的数据。当我在主循环中处理一路数据是正确的,当处理两路数据是数据就不对了,好像各个数据都减半似的。不同的AD我开辟了不同的存储数据的队列啊,数据应该不会相互冲刷吧,为什么数据不对了?请大家帮帮忙,谢谢 |   
     
  
 |