我想让AIN7作为参考电压,来采集电池的电压。
配置APCFG |= 0x80; 之后,直接给其供3.3V的电源。为什么读出来的数据不对
xyz549040622:
AIN7作为参考电压,来采集电池的电压,参考电压必须是固定的,你如果又用电池供电,又要采集电池电压的话,不要用电池电压作为参考电压,用内部固定的一个基准作为参考电压才有意义的。
user4711142:
回复 xyz549040622:
用内部固定的一个基准作为参考电压,内部参考电压是1.25V,那采集到的最大电压是1.25V。是需要自己添加一个因子来换算么/?
YiKai Chen:
回复 user4711142:
内部参考电压是1.25V,采集到的最大电压是1.25V,如果要采集电压是超過1.25V就需要分壓電路
xyz549040622:
回复 user4711142:
需要把电池电压进行分压,确保分到AD口的电压不会大于1.25V就好了,要注意做好保护,防止电池电压损坏IO。
user4711142:
回复 xyz549040622:
我采集的是VDD/3
,想问一下CC2530的内部参考电压是多少,按照1.25算出来不对呢
YiKai Chen:
回复 user4711142:
CC2530,VDD/3參考电压是1.15V不是1.25V
user4711142:
回复 YiKai Chen:
我的换算值
VDD_Value = HalAdcRead(HAL_ADC_CHN_VDD3, HAL_ADC_RESOLUTION_14);
VDD_Value ((uint32)115*3*VDD_Value)>>12; //扩大100倍
为什么不对呢?算出来是6.44
是我算错了么?
YiKai Chen:
回复 user4711142:
應該是VDD_Value ((uint32)115*3*VDD_Value)/8191
user4711142:
回复 YiKai Chen:
为什么是2^13-1?
YiKai Chen:
回复 user4711142:
你讀一下 www.ti.com/…/swru191f.pdf adc的部份