ADC采集电压的问题
时间:10-02
整理:3721RD
点击:
准备用cc2540自带的ADC采集电源电压,由于准确性比较低,所以想采用多次采集取平均值的方法。但是如果多次采集的话,进行计算有很多莫名其妙 的问题。
代码如下
uint8 battery[11] = {0},count,count2;
battery[10] = 0; ////////////////////////////
for(count = 0; count < 7; count++) {
battery[count] = Read_Battery();
battery[count] = (battery[count]*25) >> 8;
battery[count] = battery[count]*3;
battery[7] = battery[7] + battery[count];
}
battery[7] = battery[7]/7;
buf3[0] = battery[7]/10 + '0';
buf3[1] = '.';
buf3[2] = battery[7]%10 + '0';
最后还有一个在LCD上显示的函数。
问题在于,最后显示出来的电压数值随着我采集次数的增多而减少。。具体是(用电脑usb供电):采集3次,显示电压为6.5v;采集7次的时候,显示电压仅仅=为1.4v。不知道为何,是不是代码有不合理的地方?求老师指点
你算法问题