Aktív témák
-
OddMan
őstag
A kérdésem, hogy XP alat mely port címeken érem el a BIOS által monitorozott információkat, adatokat. Van egy driverem (giveio.sys), amivel hozzá tudok férni XP alatt is az egyes portokhoz. A kérdésem, hogy mely címen van tárolva a CPU hőmérséklete a ventillátorok fordulatszáma stb értékek. Szeretnék írni egy progit, ami ki fogja tudni olvasni ezeket az adatokat és megjeleníti egy LCD kijelzőn, ami a párhuzamos portra lesz rákötve.
Award BIOS-om van.
Előre is köszi az infókat.
[Szerkesztve]''A szíved szabad! Légy bátor és kövesd!''
-
OddMan
őstag
Az everest 0290h címet ír ki és winbond W83627 típusú csippet.
A W83627 pdf-be olvastam a csipp-ről.
Eltolási címeket kell használni ahhoz, hogy azt a memóriaterületet lehessen olvasni, amelyikre szükség van. Azt viszont nem tudom, hogy kell-e valahogyan bankot váltani, mert a winbond adatlapjában 4 különböző bankról is írnak.''A szíved szabad! Légy bátor és kövesd!''
-
OddMan
őstag
Na a hőmérséklet adatokat már sikerült kiszednem.
Valaki meg tudná mondani, hogy mennyi időt érdemes várni a monitorozás indítása és a kiolvasás elkezdése között?
BOOL PortIO:eadMemAddr(short int portAddr)
{
__asm
{
mov dx,word ptr [portAddr]
add dx,5 //index register
xor ah,ah
mov al,40h //control register
out dx,al //set
inc dx //data register
mov al,1 //ha a 0. bit 1, akkor monitorozás, különben standby mód
out dx,al //set
}
...
}
Tehát ez után a kód után jön az adatok kiolvasása. Érdemes itt egy picit várni?
pl.: A Sleep(10); parancsot kiadni? Próbáltam várakozás nélkül is, és úgy is működött, de valahol meg azt olvastam, hogy kell valamennyit várni.
[Szerkesztve]''A szíved szabad! Légy bátor és kövesd!''
-
OddMan
őstag
A ventillátorok fordulatszámának lekérdezésekor megint problémába ütköztem.
A leírás szerint úgy kapom meg a fordulatszámot, hogy RPM = 1 350 000 / count * divisor
A count-ot ki lehet olvasni a 28h, 29h, és 2Ah címről. Gondolom ebben a sorrendben a fan1, fan2 és fan3-hoz tartozó count értékeket fogom megkapni.
A divisor a 47h 7~4 bit, 4Bh 7~6 bit és Bank0 5D 5~7 bit.
A bitek most itt hogyan tartoznak össze? Úgy értem, hogy az 1., 2. és 3. ventillátorhoz tartozó divisor érték hogyan lesz meg ebből?''A szíved szabad! Légy bátor és kövesd!''