登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: 怎样写SMBus驱动来读取CPU温度     [回主站]     [分站链接]
标题
怎样写SMBus驱动来读取CPU温度
clq
浏览(0) + 2008-12-12 13:24:26 发表 编辑

关键字:

怎样写SMBus驱动来读取CPU温度,哪位有范例给我一份,其他的方法能实现读出cpu温度,也可,麻烦给出详细代码。
问题点数:100 回复次数:10 修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* kingpang
* I do only answer, rather than questions
* 等级:
* 可用分等级:中农
* 总技术分:543
* 总技术分排名:31464
*


发表于:2008-02-18 16:05:001楼 得分:0
加载ACPI驱动
命令: cat /proc/acpi/thermal_zone/THRM/temperature
输出结果:temperature: XX C
另外好像注册表里也有bios CPU 的温度记录好像
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* fantasyemperor
*
* 等级:
* 可用分等级:贫农
* 总技术分:375
* 总技术分排名:40851
*


发表于:2008-02-19 13:07:562楼 得分:0
你这是linux下的,我要通用的,windows下也能实现的方法!
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* fantasyemperor
*
* 等级:
* 可用分等级:贫农
* 总技术分:375
* 总技术分排名:40851
*


发表于:2008-02-19 13:27:283楼 得分:0
1:各位高手,回句话啊!!cpu的温度放在那里了!!有谁知道!!
bios里面那个对么??可以通过读bios来得到cpu的温度么??
2:我对这个了解的不多。
但是,我看过一些主板带的温度监视软件,应该是和主板的BIOS中的温度显示是联系的。
希望楼主能够找一找关于读取BIOS方面的代码,或文档来研究一下。
3:但是那位高手能告诉我,bios显示的cpu温度是通过什么途径得到的!!我知道是读取cpu温度传感器的值!但是这个读取的值是否是存在bios的某个地址里面,或者是只是简单的读取与显示!!另外谁能告诉我那里还能得到cpu的温的值!!
4:学习ing
5:我也想知道,关注.........
6:有种方法大家看行不行,好像bios内容已经映射到了物理内存的0x00000000-0x00f00000范围内,我想读这部分的物理内存,但是现在又两个问题
1)不知道这样是否能读到我所需的温度值
2)不知道温度所映射到的物理地址
7:^_^,除非window或者厂商提供了这个API,否则的话,没辙!!
读取物理内存,怎么可能呢?

8:呵呵,有点难度.很早以前就有人问过这个问题.
找主板提供的DLL接口看行不行.
9:这个应该可以通过ACPI或者WMI来获取,但是我的代码没有通过测试,不知道是不是因为
我用的是笔记本的缘故。

uses
ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);
var
Locator: OleVariant;
WMI: OleVariant;
RET: OleVariant;
Enum: IEnumVariant;
Tmp: OleVariant;
Value: Cardinal;
begin
Locator := CreateOleObject('WbemScripting.SWbemLocator');
WMI := Locator.ConnectServer('.', '', '', '');
Ret := WMI.ExecQuery('SELECT * FROM MSAcpi_ThermalZoneTemperature');

Enum:= IUnknown(RET._NewEnum) as IEnumVariant;
while (Enum.Next(1, Tmp, Value) = S_OK) do
begin
if not varisNull(Tmp.CurrentTemperature) then
Memo1.Lines.Add(Format('%6.2f', [(Tmp.CurrentTemperature - 2732) / 10]));
end;
end;
10:谢谢tseug的提示,请问你有没有关于ACPI和WMI的资料,希望你能共享一下,谢谢!!
我的e-mail:h6003113@yeah.net
谢谢了!!
11:学习
12:应该是与主板的硬件对应吧,因为我装过很多电脑,测温芯片不同,自带的显示程序不通用,想必BIOS里面对应的程序也是不同的。很多硬盘也有测温,这个应该有通用的吧
13:haha,嚴重學習中
14:学习,强烈认为应该有API函数可以调用
15:好象以前的帖子提过,读注册表的数据。
并且说,不少监视CPU温度的软件也用这个方法。
偶觉得这类东东都比较占CPU资源,所以不怎么用,也没怎么去关心。
16:还能编程控制CPU的温度?!厉害呀!学习!
17:现在我在使用WMI读取cpu温度传感器的温度,通过WMI我读到了bios的生产厂家,但是不知道为什么,当读到Win32_CurrentProbe是就没用了。请那位大虾指点一下!!
18:怎么没人回答啊!!
19:采用WMI和SMBIOS来读取CPU温度传感器的方式是不可行的。事实上WMI本质上微软依然走的是通过SMBIOS/DMI方式来获取生成 WMI数据的,虽然BIOS规范的“Type 28”是温度传感器,并且还注明了偏移量为06H为温度最大值等...与Type 27的冷却设备区域类似,不过在最后14H偏移的温度值我发现是名义上的(即:不过是规范定义者的一厢情愿罢了),我曾经写过几个程序来获取几种主板(BIOS从2.0-2.31版)的各类别各偏移量的值,发现该值是无效的,同时也发现所谓Type 27中的风扇转速等,也无效,即便对于IBM的原装机也是如此。在此过程中,也发现凡有效部分往往与WMI获取的值一样。因此,也印证了从WMI获取诸如温度等参数的不可行,除非微软修改WMI信息的获取方式,否则,我看...呵呵...还不如我们另外想办法了。
顺便说一下,我个人认为微软之所以采用上述方式获取温度传感器的信息,是因为WMI规范发布的时候,微软也认为主板生产商都会把温度的获取和刷新写到驱动里面---也就是刷新Type 28区域的信息,不过,遗憾的是,硬件生产商没有这样做。
另外,我认为目前的温度检测软件几乎都是通过SMBUS来入手设计的,若你实在要详细了解这些与硬件紧密的软件开发步骤,不妨留下你Email,我在下次来看到后会与你联系。另外,无汇编经验,只用过Delphi等OO工具就不要留Email了。

20:首先谢谢LAMB
如果LAMB兄有时间还是可以发些相关的资料给小弟研究研究。
小弟是搞自动化的,用过汇编,相信看相关的程序不会有很大的问题。
最后留下我的E-Mail:h6003113@yeah.net
21:把厂商自带的温度监视软件中包含的DLL拿出来分析,有些接口直接能读到CPU温度,你用你的程序直接引用这些DLL应该能行吧。
谁能接着这个讨论下去,我也能获得bios信息了,可惜不知道温度的偏移。
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* crumpy
* ref class Crumpy{};
* 等级:
* 可用分等级:中农
* 总技术分:4200
* 总技术分排名:5067
*


发表于:2008-02-19 13:36:054楼 得分:0
没用过, MSDN查一下: Win32_TemperatureProbe, 在SDK的Windows Management Instrumentation(WMI)下
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* fantasyemperor
*
* 等级:
* 可用分等级:贫农
* 总技术分:375
* 总技术分排名:40851
*


发表于:2008-02-21 10:00:085楼 得分:0
楼上的是不是没看我上面的发的东西,wmi是不行的。
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* crumpy
* ref class Crumpy{};
* 等级:
* 可用分等级:中农
* 总技术分:4200
* 总技术分排名:5067
*


发表于:2008-02-21 10:04:296楼 得分:0
抱歉, 我没看清楚
修改 删除 举报 引用 回复

进入用户个人空间
加为好友
发送私信
在线聊天

* likexin
* 可欣
* 等级:
* 可用分等级:长工
* 总技术分:61
* 总技术分排名:117905
*


发表于:2008-03-23 00:28:597楼 得分:0
我看过WMI说明 这个值是不能变化的 我也很关心这个问题 帮楼主顶一下 如果知道了 告诉我一下 或者加我咱们一起探讨一下 留你Q喽 呵呵


总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1