在battery.c(smarttag)中:
//////////////////////////////////////////////
adc_init (GP_ADC_SE GP_ADC_SIGN);
adc_enable_channel (ADC_CHANNEL_VBAT3V);
Adc_sample = adc_get_sample();
adc_init (GP_ADC_SE 0);
adc_enable_channel (ADC_CHANNEL_VBAT3V);
Adc_sample += adc_get_sample();
//////////////////////////////////////////////
1.为什么要取2次样本并相加?
我查了da14580 datasheet,只知道是取消offset,但是我找不到细节。
在数据表中有一个位GP_ADC_CHOP,但它没有在函数adc_init()中使用。
2.另外,我发现满量程输入电压是1180mv,它是如何测量VBAT3V的??
在函数batt_cal_cr1225():1705=3.0V, 1137=2V,如何得到它??adc只有10位。
3.我想用1.5v电池,怎么改代码?把ADC_CHANNEL_VBAT3V改成ADC_CHANNEL_VBAT1V ?
如何计算1.5V电池的电池电量百分比?1.5 v = 852 ?
4.如果我想将电池服务添加到sample128,
(1)将battery.c添加到文件夹驱动中。
(2)将app_bat .c和app_batt_task.c添加到app文件夹中。
(3)在函数app_connection_func()中添加函数app_batt_enable()。
这些足够用了吗?
设备:
嗨xf622,
两个样本加在一起以抵消adc的偏移,请检查数据表中的GP_ADC_SIGN寄存器以获取更多信息。adc带有一个x3衰减器,使您能够测量高达3.6伏的电压,检查GP_ADC_CTRL2_REG的数据表。对于测量高达1.2伏的电压,您可以设置ADC_CHANNEL_VBAT1V,然后您的电压为(1.2/1024)*adc_sample。要向项目中添加配置文件,请查看文档UM-B-003软件开发指南。
由于MT_dialog
嗨,我使用DA1458x_SDK 5.0.3,在adc.c文件中,我对adc_get_vbat_sample()函数有一些问题。
在附件文件中,为什么adc_sample不像注释一样除以2 ?它是adc_sample2和adc_sample的和。
谢谢。
你好,梁云浩,
因为读数的值被输入电池算法(不直接用作电压值),以百分比的形式检查电池上剩余的能量。
由于MT_dialog
谢谢。
你好,梁云浩,
如果你认为答案有用,请标记它与“接受答案”按钮。
由于MT_dialog
请问我如何接受回答?谢谢。
你好,梁云浩,
在我的回复帖上应该有一个蓝色的按钮,指示“接受这个答案”,如果你点击它,它应该会把我的回复文字的字体变成绿色,如果你看不到,请从你的端上传这篇文章的截图,以便向支持网站的管理员报告。
由于MT_dialog
我这边没有"接受回答"的按钮。我张贴的截图与附件文件。谢谢。