我正在尝试将 BQ27531 电池电量计集成到 i.MX6 SoM 中。我加载了驱动程序,在 sysfs 上一切看起来都很好。当我运行时cat /sys/bus/i2c/devices/2-0055/power_supply/bq27531-0/temp
,我得到一个正确的值 247(这意味着 24.7°C)。
现在,我想在Android系统中获取值。我写了一个简单的应用程序,基本上调用:
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent intent = registerReceiver(null, filter);
int temprature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
这应该给我温度读数,但它返回 424 (42.4°C)。为什么温度值不对?我确信电池在室温附近。