我已經搜索和搜索,但沒有發現如何在Delphi中,並且我正在使用XE2如何從Unvoton NCT6776F芯片讀取傳感器信息。我猜測我需要某個程序集,但是我無法找到關於如何開始的東西。這裏是芯片的註冊表細節。從Delphi中讀取Windows中無WMI支持的芯片組的溫度和風扇速度
Bus Type = ISAIO One NCT6776F Unvoton NCT6776F, IndexReg=A35, DataReg=A36 ============================================================= Fan1 Fan Speed, Bank 6, Offset 0x30, 0x31 RPM = 1350000/(Data=HighByte[12:5], LowByte [4:0]) Fan2 Fan Speed, Bank 6, Offset 0x32, 0x33 RPM = 1350000/(Data=HighByte[12:5], LowByte [4:0]) Fan3 Fan Speed, Bank 6, Offset 0x34, 0x35 RPM = 1350000/(Data=HighByte[12:5], LowByte [4:0]) CPU Voltage, Bank 0, Offset 0x20 Voltage = Data* 0.008 VCCSA Voltage, Bank 0, Offset 0x21 Voltage = Data* 0.008 +3.3V Voltage, Bank 0, Offset 0x22 Voltage = Data* 0.016 Gfx Voltage, Bank 0, Offset 0x24 Voltage = Data* 0.008 +5V Voltage, Bank 0, Offset 0x25 Voltage = Data* 0.008/ (10./40.) +12V Voltage, Bank 0, Offset 0x26 Voltage = Data* 0.008/ (10./66.2) 3.3VSB Voltage, Bank 5, Offset 0x50 Voltage = Data* 0.016 VBAT Voltage, Bank 5, Offset 0x51 Voltage = Data* 0.016 CPU Temperature, Bank 7, Offset 0x17, 0x18 PECI Count = (Data=HighByte,LowByte<15:6> hightest bit as sign bit) High: PECI Count>-15; Midium: -40<PECI Count<=-15; Low: PECI Count<=-40 System Temperature, Bank 0, Offset 0x27 Temperature = Data Peripheral Temperature, Bank 1, Offset 0x50 Temperature = Data Chassis Intrusion, Bank 0, Offset 0x42, BitMask 0x10 1 = Bad, 0 = Good (Clear Bit: Bank 0, Offset 0x46, BitMask 0x80) Power Supply Failure, NCT6776F, Logical Device 0x0B, CRF7h, BitMask 0x01 0 = Good, 1 = Bad
如果任何人有任何想法,我怎麼能讀這些地址,並獲得所需的信息,我將非常感激。如果任何人都可以發佈一些示例代碼,那會更好。我實際上試圖做的是將溫度傳感器量表添加到我的服務器軟件中以進行監控。由於我正在構建的應用程序的性質,我需要直接整合數據並且不使用第三方應用程序。
謝謝。
Alex。
看看['此POST'](HTTP執行外圍I/O: //stackoverflow.com/a/1541345/960757)(例如本頁上相關部分的第四個命中)。 – TLama
我在應用程序中爲許多其他功能使用WMI,但是這個「Select * FROM Win32_TemperatureProbe」不起作用。我認爲SuperMicro沒有正確實施它。無論如何,查詢時它不會返回任何內容。需要找到另一種方式。 – AlexPlasma
如果不支持WMI,則需要枚舉安裝在Windows系統上的設備驅動程序,並找到直接與驅動程序對話的方式。如果此芯片組沒有驅動程序,則必須編寫一個驅動程序,這必須使用Windows設備驅動程序DDK以常規C代碼完成。 –