PC Temperatursensoren auslesen
Alles was man zum Anfangen braucht, bei Windows XP, sind eigene Treiber , damit man auf die Ports zugreifen kann.
Oder ein fertigen wie IO.Dll von Fred Bulback.
Wer aber DDK besitzt kann sich Quellcode runterladen porttalk32.
Winbond W83627EHF IO Chip
ISA Ports 0x290
0x295 als Index Port
0x296 als Data Port
bei ITE IT8712F sind die selben Ports aber andere Register
Das Programm
Ich habe es in VB Net gemacht um Temperatur von der Grafikkarte auslesen zu können in VB6 gabs leider ein Fehler die ich dann mittels ON Error Resume Next behoben habe, aber ein end Lösung wahr das auch nicht beim spielen ist dann der Rechner abgestürzt.
Für ITE IT8712F
Oder ein fertigen wie IO.Dll von Fred Bulback.
Wer aber DDK besitzt kann sich Quellcode runterladen porttalk32.
Winbond W83627EHF IO Chip
ISA Ports 0x290
0x295 als Index Port
0x296 als Data Port
bei ITE IT8712F sind die selben Ports aber andere Register
Das Programm
Ich habe es in VB Net gemacht um Temperatur von der Grafikkarte auslesen zu können in VB6 gabs leider ein Fehler die ich dann mittels ON Error Resume Next behoben habe, aber ein end Lösung wahr das auch nicht beim spielen ist dann der Rechner abgestürzt.
|
|
C/C++-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte Private Const indexPort = &H295 Private Const dataPort = &H296 Private Const Bank0 = &H0 Private Const Bank1 = &H2 Private Const Bank2 = &H4 Private Function Get_Temp(Sensor as Byte) as Byte Select Case Sensor case 0 PortOut(indexPort,&H27) Get_Temp =PortIn(dataPort) case 1 Switch_bank(1) PortOut(indexPort,&H50) Get_Temp =PortIn(dataPort) case 2 Switch_bank(2) PortOut(indexPort,&H50) Get_Temp =PortIn(dataPort) End Select End Function Private Sub Switch_bank(bank As Integer) Select Case bank Case 0 PortOut(indexPort,&H4E) PortOut(dataport, Bank0) Exit Sub Case 1 PortOut(indexPort,&H4E) PortOut(dataport, Bank1) Exit Sub Case 2 PortOut(indexPort,&H4E) PortOut(dataport, Bank2) Exit Sub End Select End Sub |
Für ITE IT8712F
|
|
C/C++-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte Private Const indexPort = &H295 Private Const dataPort = &H296 Private Function Get_Temp(Sensor as Byte) as Byte Select Case Sensor case 0 PortOut(indexPort,&H29) Get_Temp =PortIn(dataPort) case 1 PortOut(indexPort,&H2A) Get_Temp =PortIn(dataPort) case 2 PortOut(indexPort,&H2B) Get_Temp =PortIn(dataPort) End Select End Function |
В нас часто проявляется плебейство.Ну, что ж, один - атлет, другой - Атлант.Несовместимы Гений и Злодейство,Но совместимы зависть и талант.
ja kann nicht mit speedfan zusammen arbeiten.
so bald man auf eine belegte recource zugreift giebs fehler ist klar .
realmodus unter xp kenne ich nicht
ich kenne nur protected modus in MSDos
tut mir leid frage falsch verstanden
auf 0x27 register must du nicht extra in bank 0 springen da der Adresse 0x27 hat
bei Registern 0x50 0x51 in bank 1 und 0x50 und 0x51 in bank 2 wird schon schwiriger zu erkennen welchen bank man jezt meint
6.8.67 CPUTIN Temperature Sensor Temperature (High Byte) Register - Index 50h (Bank 1)
6.8.68 CPUTIN Temperature Sensor Temperature (Low Byte) Register - Index 51h (Bank 1)
6.8.74 AUXTIN Temperature Sensor Temperature (High Byte) Register - Index 50h (Bank 2)
6.8.75 AUXTIN Temperature Sensor Temperature (Low Byte) Register - Index 51h (Bank 2)
Temperaturauslesen bei Nvidia grafik gpu
so bald man auf eine belegte recource zugreift giebs fehler ist klar .
realmodus unter xp kenne ich nicht

ich kenne nur protected modus in MSDos
tut mir leid frage falsch verstanden
auf 0x27 register must du nicht extra in bank 0 springen da der Adresse 0x27 hat
bei Registern 0x50 0x51 in bank 1 und 0x50 und 0x51 in bank 2 wird schon schwiriger zu erkennen welchen bank man jezt meint
6.8.67 CPUTIN Temperature Sensor Temperature (High Byte) Register - Index 50h (Bank 1)
6.8.68 CPUTIN Temperature Sensor Temperature (Low Byte) Register - Index 51h (Bank 1)
6.8.74 AUXTIN Temperature Sensor Temperature (High Byte) Register - Index 50h (Bank 2)
6.8.75 AUXTIN Temperature Sensor Temperature (Low Byte) Register - Index 51h (Bank 2)
Temperaturauslesen bei Nvidia grafik gpu
|
|
C/C++-Quelltext |
1 2 3 4 5 6 7 |
Private Declare Function NvCplGetThermalSettings Lib "NvCpl.dll" (ByVal nWindowsMonitorNumber As UInteger, ByRef pdwCoreTemp As Long, ByRef pdwAmbientTemp As Long, ByRef pdwUpperLimit As Long) As Boolean Dim A As Long Dim B As Long Dim C As Long Call NvCplGetThermalSettings(0, A, B, C) Label4.Text = "GPU Temp " & A |
В нас часто проявляется плебейство.Ну, что ж, один - атлет, другой - Атлант.Несовместимы Гений и Злодейство,Но совместимы зависть и талант.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »gen4ik« (11. September 2010, 13:10)
das wahr auch keine frage
das programm also quelcode ist dabei.
ist in VB.NET gemacht aber portieren auf c oder delphi ist nicht das problem
mit speedfan rausfinden was für ein Super IO chip auf dem board ist
meistens heute ite oder winbound
bei mir asrock hat winbound drauf
beim ASUS sind meist ITE drauf
Datasheets sind auch da.
wofür entwikelt:
um temperatur und cpu auslastung auf kleinen lcd anzuzeigen
oder was für admins temp. überwachung von Server über nezwerk
Porttalk ist als quelcode da braucht man aber DDK für. mit normalen VC++ compilieren geht nicht
bei devc ist ddk dabei
aber nie benuzt
Und noch was wichtiges
Da man mit hardware direkt umgeht muss man schon im klaren sein was man da macht
Es kann hardware kaput gehen da man nicht nur temp. auslesen kann sondern lüftersteuirung FDD maus usw sind an den chip angeschlossen
abweichend von mainboard
bevor man das programm starten sollte man sich vergewissern das der Chip richtig gewähl ist
das programm also quelcode ist dabei.
ist in VB.NET gemacht aber portieren auf c oder delphi ist nicht das problem
mit speedfan rausfinden was für ein Super IO chip auf dem board ist
meistens heute ite oder winbound
bei mir asrock hat winbound drauf
beim ASUS sind meist ITE drauf
Datasheets sind auch da.
wofür entwikelt:
um temperatur und cpu auslastung auf kleinen lcd anzuzeigen
oder was für admins temp. überwachung von Server über nezwerk
Porttalk ist als quelcode da braucht man aber DDK für. mit normalen VC++ compilieren geht nicht
bei devc ist ddk dabei
aber nie benuzt
Und noch was wichtiges
Da man mit hardware direkt umgeht muss man schon im klaren sein was man da macht
Es kann hardware kaput gehen da man nicht nur temp. auslesen kann sondern lüftersteuirung FDD maus usw sind an den chip angeschlossen
abweichend von mainboard
bevor man das programm starten sollte man sich vergewissern das der Chip richtig gewähl ist
В нас часто проявляется плебейство.Ну, что ж, один - атлет, другой - Атлант.Несовместимы Гений и Злодейство,Но совместимы зависть и талант.
Ähnliche Themen
-
PHP »-
Url via PHP auslesen?
(24. Januar 2005, 22:18)
-
PHP »-
Ordner vom eigenen PC auslesen?!
(31. August 2004, 22:23)
-
Datenbanken »-
mysql db daten auslesen...bestimmten wert NICHT auslesen
(13. Februar 2004, 15:55)
-
PHP »-
bildgröße auslesen
(21. März 2003, 18:06)
-
(X)HTML & CSS & DHTML & Javascript »-
Quelltext so gut wie möglich geheim halten
(4. November 2002, 16:09)


