我已经搜索过但没有发现德尔福的情况,我正在使用XE2如何从Unvoton NCT6776F芯片读取传感器信息。我猜我需要在某个地方进行一些装配,但是我怎么也找不到如何开始。以下是该芯片的注册表详细信息。
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
如果有人知道如何阅读这些地址并获得所需信息,我将非常感激。如果有人可以发布一些示例代码,那就更好了。我实际上要做的是在我的服务器软件中添加一个温度传感器测量仪用于监控目的。由于我正在构建的应用程序的性质,我需要直接集成数据而不使用第三方应用程序。
感谢。
亚历。
答案 0 :(得分:0)
根据lm-sensors wiki的信息 - 使用LPC总线访问设备。有一个专用的GPLed linux driver可以下载以访问linux下的设备。如果我自己计划实现一个实现,我不会看这个来源,因为有可能污染为访问设备而编写的任何专有代码。
为了使用delphi执行外围I / O(如inb
/ outb
指令或其等效指令),您应该查看问题how to write to I/O ports in Windows XP