Hi TI Supporters:
请问下:CC2640R2F 有函数可以用来获取当前电池的电量吗?
我用的 SDK 包是:simplelink_cc2640r2_sdk_4_20_00_04。
谢谢
Kevin Qiu1:
看下C:/ti/simplelink_cc2640r2_sdk_4_20_00_04/docs/driverlib_cc13xx_cc26xx/cc26x0r2/driverlib/aon__batmon_8h.html
user6198971:
回复 Kevin Qiu1:
Hi Kevin:
谢谢~~~
static uint32_tAONBatMonBatteryVoltageGet (void),是不是只要这个函数就可以获得到电池的电压了?谢谢
Kevin Qiu1:
回复 user6198971:
是的,获得的电压以V为单位
user6198971:
回复 Kevin Qiu1:
Hi Kevin:
有问题,请帮忙看下是否正确:
我在 simple_broadcaster.c 的 SimpleBroadcaster_init 函数里,增加如下的操作,我用电流源供电,输出 3.8V,不过开机时实际打印出的 Battery Voltage = 8558、9728、9608、9728、9728,看起来不是电压值,请帮忙确认下。
谢谢
uint32_t percent = AONBatMonBatteryVoltageGet();
Display_print1(dispHandle, 1, 0, "Battery Voltage = %d", percent);
Kevin Qiu1:
回复 user6198971:
得到的值需要转化,看下C:\ti\simplelink_cc2640r2_sdk_4_20_00_04\source\ti\ble5stack\profiles\batt\cc26xx中battservice.c
user6198971:
回复 Kevin Qiu1:
Hi Kevin:
按照 battservice.c 的计算方法:
1.8558 * 125 / 32 * 100 / 3273 = 1021.377558814543
2.9728 * 125 / 32 * 100 / 3273 = 1161.014359914452
3.9608 * 125 / 32 * 100 / 3273 = 1146.692636724717这几个值夜都不对,因为我是用电流源输出的 2.8V,请帮忙再确认下。
谢谢
Kevin Qiu1:
回复 user6198971:
看下手册18章:https://www.ti.com.cn/cn/lit/ug/swcu117i/swcu117i.pdf?ts=1603178171570&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fsitesearch%252Fcn%252Fdocs%252Funiversalsearch.tsp%253FsearchTerm%253DCC13xx%252CCC26xx%2BSimpleLink%25E2%2584%25A2%2BWireless%2BMCU%2BTechnical%2BReference%2BManual
读到的数据10:8位是整数部分,而7:0位是小数部分(二进制编码)
Kevin Qiu1:
回复 user6198971:
user6198971Voltage = 8558、9728、9608、9728、9728,
你测的这些值都不对,我用USB供电测VDDS=3.3V得到 Battery Voltage = 843,
转化后得到3.289V,基本上是准确的
user6198971:
回复 Kevin Qiu1:
Hi Kevin:
是把读出的几个数值转成 2 进制,然后取 10-8 bit 吗?
9728:10011000000000,10-8 bit 是 110,难道是 6V?
8558:10000101101110,10-8 bit 是 001,难道是 1V?
9608:10010110001000,10-8 bit 是 101,难道是 5V?这个误差也太大了?
Kevin Qiu1:
回复 user6198971:
按数据计算是这样的,测试方式应该有问题,电流源是加在哪里的?测得时候USB也在供电?