读CPU温度的资料
来源:互联网 发布:it难学吗 编辑:程序博客网 时间:2024/04/29 02:51
http://blog.csdn.net/aasmfox/article/details/6610625
PMU_SC equ 6Ch ;命令端口
PMU_DATA equ 68h ;数据端口
RD_EC_SMI equ 80h ;读寄存器命令
POLLING_DATA equ 0E7h ;CPU温度寄存器号
看上面的定义,PMU寄存器读取的步骤是这样的:
1.等待输入缓冲器空,即PMU将上一条命令处理完毕;
1.将命令(RD_EC_SMI)写入命令端口(PMU_SC);
2.等待输入缓冲器空,即PMU将命令(RD_EC_SMI)处理完毕;
3.将要访问的寄存器号(POLLING_DATA)写入数据端口(PMU_DATA);
4.等待输出缓冲器满,即PMU将从寄存器(POLLING_DATA)读出的数据放到输出缓冲器;
5.将数据从数据端口(PMU_DATA)读出。
(说明,这里的输入输出缓冲是指的PMU的缓冲。)
这样,就完成了一次读操作,写操作和其类似。
具体代码如下:
;AL-----CPU Temperature
GetCPUTempe proc
pusha
pushf
cli
mov dx,PMU_SC
mov al,RD_EC_SMI
call pmuWait4IBE ;Must have
out dx,al
mov dx,PMU_DATA
mov al,POLLING_DATA
call pmuWait4IBE ;Must have
out dx,al
mov dx,PMU_DATA
call pmuWait4OBF ;Must have
in al,dx ;Get Temperature
sti
popf
popa
GetCPUTempe endp
;#########################################################
pmuWait4IBE proc
PUSH AX
PW4IBE:
IN AL, 06CH ; Read PMU status
TEST AL, 2 ; Is Input Buffer Empty?
JNZ PW4IBE ; Jmp if no
POP AX
ret
pmuWait4IBE endp;END OF PMUWAIT4IBE
;#########################################################
pmuWait4OBF proc
PUSH AX
PW4OBF:
IN AL, 06CH ; Read PMU status
TEST AL, 1 ; Is Output Buffer Full?
JZ PW4OBF ; Jmp if no
POP AX
ret
pmuWait4OBF endp;END OF PMUWAIT4OBF
;#########################################################
上面pmuWait4IBE、pmuWait4OBF两个函数就是等待缓冲器的函数,其中都直接读取了命令端口6Ch(PMU_SC)的内容,关于读出的内容的说明可以参见我发的PMU的说明的第18页下面的那张表。
下面讲一下怎样把上面的代码用vc实现(讲的不好不要用臭鸡蛋扔我啊!):
众所周知,windows下无法直接读写硬件端口,要想实现上面的程序,我们只有借助强大的winio。
在VC中新建个工程,将winio压缩包中的winio.h包括进去,按alt+F7,在lib里面把winio.lib加进去(班门弄斧了^_^)。其实winio的压缩包中有详细的说明:
程序一开始先调用InitializeWinio(),结束时再调用ShutdownWinio()。呵呵!这就不用我多说了。
我们这个程序主要用到的winio的函数是
GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);//读端口
SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);//写端口
看了函数定义,各位高手肯定知道怎么用了吧!^_^
by zkxz
- 读CPU温度的资料
- 读CPU温度的资料
- CPU温度检测的工具
- 获得CPU温度的函数
- 【cpu温度过高的原因】
- 查看树莓派的CPU温度
- CPU温度
- 关闭cpu温度过高的警报
- 关于获取CPU温度的CSDN帖子
- solaris 10 如何查看CPU的温度
- 查看Centos的CPU温度,硬盘信息
- 读取树莓派的CPU和GPU温度
- Ubuntu 中检查笔记本 CPU 的温度
- Ubuntu环境下检查CPU 的温度
- 温度对PMSM的影响--资料整理
- python 显示树莓派的cpu与cpu温度
- Win10怎么看cpu的温度?cpu的温度高低查看方法
- c# 读cpu温度,显卡温度,硬盘温度,风扇转速,硬件信息,cpu占用,附赠项目源码
- DAPM之一:概述
- 使用rdtsc获取细粒度程序动态执行时间
- flash3D引擎对比分析
- javascript 原型链、执行环境、作用域链、实例对象之间的关系
- 手机USB充电和过压保护设计方案
- 读CPU温度的资料
- Java新浪微博客户端开发第三步
- Javascript一些概念研究总结
- Javascript 作用域链 活动对象 执行环境 与 this 的纠结 总结~
- 写给自己
- [双连通分量]poj 3352 Road Construction
- AIML介绍(中文版)
- Head First 设计模式 Design Pattern 5-6 Singleton, Command
- XML/JSON序列化和反序列化