当前位置: 首页 > news >正文

展锐Android13电池问题导致系统的崩溃,(2)电池电压计算和电池曲线

  先看is_bat_low函数的代码:

#ifndef LOW_BAT_VOL
//#  define LOW_BAT_VOL		3400
#define LOW_BAT_VOL		3672
#endif
#ifndef LOW_BAT_VOL_CHG
//#  define LOW_BAT_VOL_CHG	3500 
#define LOW_BAT_VOL_CHG	3719
#endifint is_bat_low(void)
{int32_t vbat_vol;uint16_t comp_vbat;...............if (charger_connected()) {comp_vbat = LOW_BAT_VOL_CHG;} else {comp_vbat = LOW_BAT_VOL;}vbat_vol = sprdfgu_read_vbat_vol();dprintf(ALWAYS,"sprd_chg: %s vbat_vol:%d,comp_vbat:%d\n",__func__, vbat_vol, comp_vbat);if (vbat_vol < comp_vbat)return 1;elsereturn 0;}

函数包含充电状态、非充电状态电池电量是否过低的检查,3400、3500是原有的电压宏定义,计量单位mV(毫伏),这个定义的标准需要参考当前电池的电池曲线,根据配置的dts文件查找,
查到的是:

................
<3706000 11 >,
..............
<3687000 7  >,
<3684000 6  >,
<3680000 5  >,
<3672000 4  >,
<3649000 3  >,
<3610000 2  >,
................

左面参数是电压,uV(微伏);右侧是电池电量百分比,开机后显示的电池电量和电池电压的对应关系就在这。好吧,my god,差了好多,这是只要有电就开机。

参考电池曲线对应的电压标准重新定义,让他电量低于一个标准就没法从开机。

充电状态下,电池电压会略微高点,根据实测值调整。

本以为到这就结束了,又碰到一种电池,低压状态下电池输出功率不够,电压变化非常大,还要继续改。

手机上看到的电池电量也是这么计算,电池老化后,电压波动也会非常大,显示的结果就是电池电量掉的非常快。


 

相关文章:

  • JAVA聚焦OutOfMemoryError 异常
  • STM32F407使用ESP8266实现阿里云OTA(下)
  • Red:1靶场环境部署及其渗透测试笔记(Vulnhub )
  • Python面向对象编程相关的单选题和多选题
  • 测试基础笔记第十一天
  • 济南国网数字化培训班学习笔记-第二组-2节-输电线路施工及质量
  • Linux基础篇、第四章_01软件安装rpm_yum_源码安装_二进制安装
  • Linux基础
  • yt-dlp 下载时需要 cookie
  • 【Redis】 Redis中常见的数据类型(二)
  • 【玩转全栈】—— 无敌前端究极动态组件库--Inspira UI
  • 大语言模型的“模型量化”详解 - 02:量化参数 主流量化参数全面解读与实战-Q/K/IQ/TQ 到 GGUF 的完整流程
  • SpringMVC处理请求映射路径和接收参数
  • Android studio进阶开发(四)--okhttp的网络通信的使用
  • 【云计算】云计算中IaaS、PaaS、SaaS介绍
  • Linux Awk 深度解析:10个生产级自动化与云原生场景
  • 大语言模型的“模型量化”详解 - 03:【超轻部署、极致推理】KTransformers 环境配置 实机测试
  • 函数模板 (Function Templates)
  • Kafka命令行的使用/Spark-Streaming核心编程(二)
  • MCP协议最新进展分析报告
  • 印巴在克什米尔实控线附近小规模交火,巴防长发出“全面战争”警告
  • 三部门提出17条举措,全力促进高校毕业生等青年就业创业
  • 中信证券:“国家队”未曾减持ETF,应充分相信国家维稳决心
  • 王沪宁会见越共中央委员、越南祖国阵线中央副主席兼秘书长阮氏秋荷
  • 研究|和去年相比,人们使用AI的需求发生了哪些变化?
  • 范福生受审:任高密市长、市委书记时滥用职权,致公共财产利益重大损失