完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Hi 各位:
我使用cc2541加tps62730这块芯片做成了一个蓝牙遥控器,并使用函数battMeasure()这个函数去获取电压值,可是不论是新电池还是老电池获取出来的 值都是18或者19,如果加上串口调试的话,能获取出来的电压值跟真事值比较接近,请问各位这个问题怎么解决?是不是在读电池电量时需要做其他的什么 工作?谢谢您的回复 |
|
相关推荐
7 个讨论
|
|
Hi jerry:
谢谢你的回复,因为硬件电路上我使用的是p1.2口控制tps,所以我使用的是函数: HCI_EXT_MapPmIoPortCmd( HCI_EXT_PM_IO_PORT_P1, HCI_EXT_PM_IO_PORT_PIN2 );来控制tps的工作或者旁路状态,我尝试过在读取电压值之前使用: HCI_EXT_MapPmIoPortCmd( HCI_EXT_PM_IO_PORT_P1, HCI_EXT_PM_IO_PORT_PIN2 );这个函数去让tps变成旁路模式,可是始终读取的数值都是19,之后我做了另外一种尝试,就是直接控制p1.2口的电压,即读取电压值之前将p1.2口变成低电平,读取电压值之后再变成高电平,这样可以读出电压的值,只是比准确的值略低5~6个百分点,不知道我的操作那个步骤有问题,请你指导,谢谢。 |
|
|
|
|
|
keven杨 发表于 2020-3-17 15:11 Before doing VDD measurement. You should: 1) disable PM IO port by: HCI_EXT_MapPmInOutPortCmd(HCI_EXT_PM_IO_PORT_NONE, HCI_EXT_PM_IO_PORT_PIN2) 2) Set P1.2 to low by P1DIR |= 0x04;P1 |= 0x04 3) Check battery with battMeasure() 4) Set P1.2 to high 5) Enable PM IO port by: HCI_EXT_MapPmInOutPortCmd(HCI_EXT_PM_IO_PORT_P1, HCI_EXT_PM_IO_PORT_PIN2) Pleaes have a look on the doc "TI BLE HCI Vendor Specific HCI Guide.pdf" on details of the command "HCI_EXT_MapPmInOutPortCmd" |
|
|
|
|
|
keven杨 发表于 2020-3-17 15:11 Hi jerry: 谢谢你的指导,调好了!呵呵 |
|
|
|
|
|
www037 发表于 2020-3-17 15:20 Hi jerry: 你说的这个函数HCI_EXT_MapPmInOutPortCmd();我试了一下,怎么报出来的是没有定义,我用的是BLE-CC254x-1.3.2这个版本,请问是不是还需要添加头文件什么的?谢谢回复 |
|
|
|
|
|
www037 发表于 2020-3-17 15:20 你好, 我按照你的说法 这么改了代码 if ( events & KFD_BATTERY_CHECK_EVT ) [ // Disable stack to toggle bypass control on TPS62730 (DC/DC converter) HCI_EXT_MapPmIoPortCmd( HCI_EXT_PM_IO_PORT_NONE, HCI_EXT_PM_IO_PORT_PIN7 ); //Set P0.7 to low P0 &= 0x7F; // Restart timer if ( BATTERY_CHECK_PERIOD ) [ osal_start_timerEx( keyfobapp_TaskID, KFD_BATTERY_CHECK_EVT, BATTERY_CHECK_PERIOD ); ] // perform battery level check Batt_MeasLevel( ); //Set P0.7 to high P0 |= 0x80; // Enable stack to toggle bypass control on TPS62730 (DC/DC converter) HCI_EXT_MapPmIoPortCmd( HCI_EXT_PM_IO_PORT_P0, HCI_EXT_PM_IO_PORT_PIN7 ); return (events ^ KFD_BATTERY_CHECK_EVT); ] 但是现在的问题是这样的, 不论我注不注释掉KeyFobApp_Init( uint8 task_id ) 中这段代码: #if defined ( DC_DC_P0_7 ) // Enable stack to toggle bypass control on TPS62730 (DC/DC converter) HCI_EXT_MapPmIoPortCmd( HCI_EXT_PM_IO_PORT_P0, HCI_EXT_PM_IO_PORT_PIN7 ); #endif // defined ( DC_DC_P0_7 ) 显示的电量还是固定的百分之二十多。 但是只要注释掉上面这段代码 而其他地方不做任何修改 反而可以正常显示 在原理上理解了为什么会是一直百分之二十多 但是代码又不是这样的 不知道哪里出了问题 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:24 , Processed in 2.272536 second(s), Total 65, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号