Я знаю, что эта ветка старая, но я хотел добавить к ней немного другой подход. Снимите марку / модель с чипа ввода / вывода на материнской плате и получите спецификацию для указанного чипа ввода / вывода (для справки я буду использовать микросхему ITE IT8783F).
Посмотрите под чем-то вроде Environment Controller и рассчитайте порты доступа и чтения. Да ... вы должны понимать HEX, MSB и LSB, и я не буду вдаваться в расчеты / объяснения здесь (выходит за рамки).
Теперь в этом случае порт доступа - 295, а порт чтения - 296. При чтении ниже в разделе приведена таблица для регистров контроллера среды. В этом случае температура процессора находится в регистре 2Ah (или 0x2A). Итак, код VB / C #, который я использовал для получения информации, выглядит следующим образом:
Private Function GetCPUTemp() As UInt32
Dim tCpu As UInt32
Dim stCpu As Short
PortAccess.Outputb(&H295, &H2A)
stCpu = PortAccess.Inputb(&H296)
tCpu = CType(stCpu, UInt32)
Return tCpu
End Function
Теперь вам просто нужно выяснить, что вы хотите с этим делать. Помните, если вы обнаружите, что вы получаете сумасшедшие дурацкие числа, вы либо извлекаете данные из неправильного регистра, либо вам может потребоваться ввести коэффициент масштабирования (как вы делаете с показаниями напряжения). Это тоже должно быть в техпаспорте.