0

我只想确认电池温度数据。

我正在使用 GetSystemPowerStatusEx2 API 来获取使用 c++ 的 windows ce 设备的电池温度。

我正在使用“SYSTEM_POWER_STATUS_EX2”类型的变量“psse

成功后,返回的电池温度值如下所述:-

psse.BatteryTemperature = 29 //which is of dword type.

我的疑问是实际的电池温度表示是多少?

是 2.9 摄氏度还是 29 摄氏度?为什么?

请回复。提前致谢。

4

2 回答 2

2

根据MSDN 上的文档

电池温度,以摄氏度为单位。该成员的值可以在 –3,276.8 到 3,276.7 范围内;增量为 0.1 摄氏度。

所以 29 的值意味着 2.9 摄氏度。

于 2012-10-15T17:03:47.490 回答
2

在调用函数之前,您是否将 BatteryStatusEx2 结构内存归零?

OTOH OEM 可以,但不需要正确填写所有值。因此,如果函数返回 29,即 2.9°C,我假设 OEM 未正确填写该值。要么是 29°C,但随着时间的推移,这也不是一个真实的值,因为在设备使用过程中电池温度应该会上升。

OEM 可能会为纠正错误读数的设备提供新的固件或服务版本。

值的准确性取决于驱动程序的实现。可能电池根本没有暴露任何温度,驱动程序总是用值 29 填充结构。

不要太相信 OEM 始终正确地实现所有功能。

~约瑟夫

于 2012-10-16T03:41:10.113 回答