Как представить значение температуры батареи в Wince с помощью API GetSystemPowerStatusEx2?

Я просто хочу получить подтверждение о температуре батареи.

Я использую API GetSystemPowerStatusEx2, чтобы получить температуру батареи для устройства Windows CE с помощью C ++ ..

Я использую переменную сказать «PSSE» типа «SYSTEM_POWER_STATUS_EX2».

На успех, значение, возвращаемое для температуры батареи, указано ниже:

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

Я сомневаюсь, каково реальное представление температуры батареи?

Это 2,9 градуса по Цельсию или 29 градусов по Цельсию & Зачем?

Пожалуйста, ответьте. Заранее спасибо.

0

Решение

В соответствии с документация по MSDN

Температура батареи в градусах Цельсия. Этот член может иметь значение в диапазоне от –3 276,8 до 3 276,7; приращение составляет 0,1 градуса Цельсия.

Таким образом, значение 29 означает 2,9 градуса Цельсия.

2

Другие решения

Вы обнулили структуру памяти BatteryStatusEx2 до нуля перед вызовом функции?

OTOH производители могут, но не должны заполнять все значения правильно. Поэтому, если функция возвращает 29, что составляет 2,9 ° C, я предполагаю, что OEM-производитель не правильно заполняет значение. Либо это 29 ° C, что со временем не является реальным значением, так как температура батареи должна повышаться во время использования устройства.

Вероятно, OEM предлагает новую версию прошивки или сервис для устройства, которая исправляет неправильные показания.

Точность значений зависит от реализации драйвера. Возможно, батарея вообще не подвергается воздействию какой-либо температуры, и водитель всегда заполняет структуру значением 29.

Не доверяйте многим OEM-производителям, постоянно реализующим все функции.

~ йозеф

2