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我开辟了不同的存储数据的队列啊,数据应该不会相互冲刷吧,为什么数据不对了?请大家帮帮忙,谢谢 |