如何使用GetSystemPowerStatusEx2 API在Wince中表示电池温度值?

时间:2012-10-15 16:58:36

标签: c++ windows-mobile windows-ce battery temperature

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

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

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

成功时,电池温度返回值如下所示: -

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

我怀疑实际的电池温度表示是什么?

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

Plz回复。提前谢谢。

2 个答案:

答案 0 :(得分:2)

根据the documentation on MSDN

  

电池温度(摄氏度)。该成员的值可以在-3,276.8到3,276.7之间;增量为0.1摄氏度。

因此,值29意味着2.9摄氏度。

答案 1 :(得分:2)

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

OEM可以使用OTOH,但不需要正确填写所有值。因此,如果函数返回29,即2.9°C,我认为OEM没有正确填充该值。它可能是29°C,随着时间的推移也不是真正的值,因为在使用设备时电池温度应该会升高。

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

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

不要相信那些一直在实现所有功能的OEM。

~josef