|
发表于 2025-3-19 09:42:47| 字数 1,455| - 美国–德克萨斯州–达拉斯–达拉斯 Limestone网络公司
|
显示全部楼层
|阅读模式
本帖最后由 jackmacc 于 2025-3-19 09:51 编辑
昨天 20元收了一个 47+ 电池, 是三洋的固件, 读取数据
计算 截取地址
得到数据,可以看到 04 B2 07 00
也就是
(10) Full Charge Capacity = 1612 mAh
(11) Run Time to Empty = 0 min(s)
(12) Average Time to Empty = 0 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 2700 mA
(15) Charging Voltage = 12900 mV
(16) Battery Status = 0x7D0
(17) Cycle Count = 1202
04 B2 是 1202 的循环计数
根据经验:
0700 应该是 完全充电容量 数据是 1792
但是读取到显示数据是 1612
//........................................................
为什么会出现这种现象呢,我尝试,进行标尺放电
再次读取 这个数据变成了
(10) Full Charge Capacity = 1611 mAh
(11) Run Time to Empty = 65535 min(s)
(12) Average Time to Empty = 65535 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 2700 mA
(15) Charging Voltage = 12900 mV
(16) Battery Status = 0x6D0
(17) Cycle Count = 1204
对应数据
04 B4 对应 1204
06 FE 对应 1611
经过这次对比我就将 06 FE
修改成 0BB8 ,就是 3000,(将完全充电容量改成 3000)
(因为修改动态数据应该是安全的,而且这个位置数据值变化了.改改没问题)
再读取一次数据
这次数据 变成
(10) Full Charge Capacity = 2700 mAh
(11) Run Time to Empty = 0 min(s)
(12) Average Time to Empty = 0 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 2700 mA
(15) Charging Voltage = 12900 mV
(16) Battery Status = 0x7D0
(17) Cycle Count = 1204
//........................................................
得出一个规律
04 B4
06 FE 对应 1790 对应 1611 mAh 差 179
07 00 对应 1792 对应 1612 mAh 差 180
04 B4
0B B8 对应 3000 对应 2700 mah 差300
3000-1792 =1208
2700-1612=1088
27/30=0.9
1612/1792=0.89955
//........................................................
固件将
604 , 504 的ROM 地址的数据, 完全充电容量
要乘以一个 0.9 的约数,
所以再二进制数据查找的时候,找不到,对应 的二进制数
//........................................................
总结: 将显示的数据 (完全充电容量 除以 0.9) 再,进行二进制查找
这个规律,我已经发现几个电池了. 例如 29+ ,47+ ,
这次记录一下
,当然我也不排除,修改截取地址,你能读到一个对应的值.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|