就是官方的battery service 什么都没改,按理说1.25v的参考电压,输入选择vdd/3,10bit的adc通道,量程范围为0~511,那么3v对应采集到的adc应该是3/3/1.25*511=409,2v则应该是273。但是用万用表测量实际供电电压3v的时候,debug的时候HalAdcRead采集到的adc是430,2v的时候是289。通过修改
#define BATT_ADC_LEVEL_3V 430 //409
#define BATT_ADC_LEVEL_2V 289//273
测量结果可以接受(误差+-2%)。
但还是搞不懂为啥实测值和计算值相差这么多,芯片问题?ti的adc不会做的什么差劲吧?求大神释疑!!
da qin zheng sheng:
可以多次采样求平均值的!
yuzhang wu:
回复 da qin zheng sheng:
已经取了二十次的均值,结果和一次的没差多少
da qin zheng sheng:
回复 yuzhang wu:
使用内部12bit