0

バッテリー温度データの確認を取得したいだけです。

C++を使用してWindows CEデバイスのバッテリー温度を取得するためにGetSystemPowerStatusEx2 APIを使用しています..

タイプ"SYSTEM_POWER_STATUS_EX2"の"psse"という変数を使用しています。

成功した場合、バッテリー温度に対して返される値は以下のとおりです。

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

私の疑問は、実際のバッテリー温度の表現は何ですか?

摂氏 2.9 度または摂氏 29 度で、その理由は何ですか?

返信してください。前もって感謝します。

4

2 に答える 2

2

関数を呼び出す前に、BatteryStatusEx2 構造体メモリをゼロに設定しましたか?

OTOH OEM はすべての値を正しく入力できますが、入力する必要はありません。したがって、関数が 29 (2.9°C) を返した場合、OEM が値を正しく入力していないと考えられます。デバイスの使用中にバッテリー温度が上昇する必要があるため、29°C として表示されますが、これは時間の経過とともに実際の値ではありません。

おそらく、OEM は、間違った読み取りを修正するデバイス用の新しいファームウェアまたはサービス リリースを提供します。

値の精度は、ドライバーの実装によって異なります。おそらく、バッテリーはまったく温度を公開せず、ドライバーは常に構造体に値 29 を入力します。

すべての機能を常に正しく実装している OEM をあまり信用しないでください。

〜ヨセフ

于 2012-10-16T03:41:10.113 に答える
2

MSDNのドキュメントによると

バッテリー温度 (摂氏)。このメンバーは、-3,276.8 ~ 3,276.7 の範囲の値を持つことができます。増分は摂氏 0.1 度です。

したがって、値 29 は摂氏 2.9 度を意味します。

于 2012-10-15T17:03:47.490 に答える