如何从主板上的传感器读取温度
How to read the temperature from sensors on the motherboard?
正在获取处理器温度
已经尝试使用WQL (WMI类MSAcpi_ThermalZoneTemperature
),但显然它还没有在所有平台上实现。在大多数机器上,它只是通过HRESULT
返回值返回所有现有的错误消息。温度本身不返回。
这个想法是直接通过总线端口读取这个温度。我已经找到了库,它提供了outp和inp函数的功能,并且它成功地启动了连接(NTPort),但是,问题变成了要连接到哪个端口才能读取数据。微控制器为IT8728F。SpeedFan(能够读取温度的应用程序)在其日志中说它从端口0x290读取数据。然而,当连接到它时,返回的数据看起来不像温度(它总是返回29)。
所以接下来要做的就是从任何端口读取,试图确定是否有任何数据看起来像温度。然而,从每个端口传来的一些数据要么太低,要么太高,与实际温度不符。
int CPU_TEMP;
Outp(INDEX, BANK_SET);
Outp(DATA, Inp(DATA)|0x01);
for(CPU_TEMP=0x0;CPU_TEMP<0x999;CPU_TEMP++)
{
Outp(INDEX, CPU_TEMP);
printf("CPU temp: %iCn", Inp(DATA));
}
也许你的处理器是29摄氏度并且稳定的。对于处理器来说,这似乎是合法的。
也:是0x00000029还是DEC 29?
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- Android NDK传感器向事件队列报告奇怪的间隔
- C++将文本文件中的数据读取到结构数组中
- 正在将csv文件读取为双精度矢量
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 为什么在读取文件大小时文件IO速度会发生变化
- 正在读取二进制文件(is_open)
- 如何在c++中从文本文件中逐行读取整数
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 独立读取-修改-写入顺序
- 扩展光电二极管探测器以支持多个传感器
- 通过串行端口从GPS传感器读取
- 如何从主板上的传感器读取温度