找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 9247|回复: 2

关于 CPU 温度 和风扇转速

[复制链接]
发表于 2010-2-25 21:21:15 | 显示全部楼层 |阅读模式
最近在写EPC的CPU温度 风扇转速获取方法0 M5 T* a2 W* ]; f3 f$ R3 [8 _( e
, k+ A9 i' ?  K0 f, R0 a4 t
问题! G% [7 s7 @* f1 v& I5 O( e+ m
在获取CPU温度和风扇转速后5 c: \1 n3 h, W2 C! \: u
再次循环获取 CPU温度,数据就出现错误了,为什么?7 w. n3 m, D5 I6 _& n" [  W1 M$ `
做了缓冲区满空判断
6 k6 ?0 Y8 ?0 {5 Z下面是判断代码* T3 O$ b+ [- e( d' ^

; r( U' r7 X% n% _8 X0 _void check_buffer(int in_out,int port)6 V' R# W7 F5 O; b' ^$ q6 B
{
3 t8 I4 [9 Y$ Q) o- t        DWORD dw_temp=0;
4 S3 k4 B- K2 p" U        GetPortVal(port,&dw_temp,1);6 }1 G6 ~) ~0 U
        if(in_out==INPUT)
) d7 G+ s& n' w, e        {) b# @& z. e  `
                while(dw_temp&0x02), a9 l. l# I( K' l2 \7 C
                {
/ {1 F4 x& J  A1 v                        GetPortVal(port,(&dw_temp),1);' C8 z+ M; h+ k2 V6 V7 A
                        dw_temp=(BYTE)dw_temp;
4 S# C/ Y5 a/ w8 v                        Sleep(5);}1 E! h. A/ Y$ \' B- M
        }
( M3 q* J4 n; h4 r" I9 @  t        else if(in_out==OUTPUT)         1 S$ G& ?5 \4 o- w
{9 E+ W4 c- u8 I2 m8 Y) c; ?
                while(!(dw_temp&0x01))
3 L& U0 q" }* D- G/ `                {3 Y: f- z6 ~" l9 N- g
                        GetPortVal(port,&dw_temp,1);8 c3 C6 T/ A  u; e) b
                        dw_temp=(BYTE)dw_temp;6 U1 ~+ M. g) i. R1 B6 I$ D/ b' L. `
                        Sleep(50);) C% Z& ?- A2 O& z
                }
) z4 W- b5 O) d- d        }& V0 I# P, q; l& c6 H! o

5 @  T" ~8 _4 V4 F}
发表于 2010-2-26 15:24:49 | 显示全部楼层
能告诉我你是怎么读的吗
回复

使用道具 举报

 楼主| 发表于 2010-2-26 16:28:00 | 显示全部楼层
已经找到问题了
7 F) d5 x9 W1 a7 O, C, d在setportval 前后 都要进行一次缓冲区输入检测,原来我只是在setportval 前检测了,后没检测。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-11-3 23:09 , Processed in 0.631847 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表