//获取通道ch的转换值,取time次,然后平均
u16 Get_Adc_Average(u8 ch,u8 times)
{
u32 temp_val=0;
u8 t;
for(t=0;t<times;t++)
{
temp_val+=Get_Adc(ch);
delay_ms(5);
}
return temp_val/times;
}
main
{。。。//省略
while(1)
{
adcx=Get_Adc_Average(ADC_CH1,10);
。。。。。//省略
}
。。。//省略
}
上面是源码,乍一看,似乎没有问题,
我的问题是实际中ADC采样时间没有代码执行的时间快,所以同一个AD转换值采了10次,然后除以10次平均,是不是就没有意义了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
原来如此,谢谢
一周热门 更多>