论坛元老
 
- 积分
- 3348
- 金钱
- 3348
- 注册时间
- 2013-5-28
- 在线时间
- 468 小时
|
发表于 2022-7-21 16:08:08
|
显示全部楼层
u16 ADC_Buff[6];//假设ADC_Buff={1,2,3,4,5,6}
void ADC_Fliter(int *sum_buf)
{
u8 i,j;
int FliterBuf[2][5],sum=0;//二维数组FliterBuf,2行5列
for(i=0;i<5;i++) //列数移动
for(j=0;j<2;j++){ //行数
FliterBuf[j]=ADC_Buff[j];//把ADC_Buff里面的第0个及第一个数据分别塞满FliterBuf,FliterBuf[0]里面就有{1,1,1,1,1},FliterBuf[1]里面就有[2,2,2,2,2]
}
}
for(j=0;j<2;j++){
sum=0;
for(i=0;i<5;i++){
sum+=FliterBuf[j];//第一次把FliterBuf[0]里面的5个1加起来,第二次FliterBuf[1]里面的5个2加起来
}
sum/=5;//再平均
sum_buf[j]=sum;//再传递出去
}
}
所以二楼说的是对的.如果不是不想让别人看懂,就是想消耗点CPU时间.
还一个可能就是以为自己写了一个滤波函数,结果啥也不是
|
|