- Honor Magic6 Pro - kör közepén számok
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy Z Flip5 - ami kint, az van bent
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Poco X3 Pro - hardverfrissítés
- Fotók, videók mobillal
- One mobilszolgáltatások
- Xiaomi 14 - párátlanul jó lehetne
- Samsung Galaxy Watch6 Classic - tekerd!
- A sógorokhoz érkezik a kompakt Vivo X200 FE
Aktív témák
-
wnix
senior tag
-
-
-
Rover623
félisten
válasz
Flashback #99 üzenetére
Mondom hogy van érzéked hozzá...
Conway's game of life...
Nem is tudod hogy beletrafáltál...
Annó 89-ben egy cimbivel együtt nyúzunk egy 128D Commodore-t...ő assembly-ben próbálta lekódolni (a profi...) én az amatőr egy délután összedobtam...a benne lévő CP-M80 karin futó Turbo Pascal-ban...
Na ott lehetett optimalizálni...ez volt az első találkozásom a TP-vel...
P.S.:
Részemről is béke... -
Én sem akarlak/akartalak bántani. Én csak meg akarom érteni vagy legalább kapisgálni hogy hogy műxik ez az egész gép közeli programozás. Ezért is nyitottam T-mát a fórumon mert, érdekel! Én úgy gondoltam ha megmutatjátok a kezdő lépéseket akkor onnantól eldöntöm hogy ráálok és megveszem-e hozzá a könyveket/ dokumentációkat.
Valamit nagyon félre olvashattál, mert nem az írtam hogy ''rendszerprogramozó'' hanem hogy rendszer informatikusEz kb 2 fokkal jobb egy Rendszergazdánál!
Programozásunk egy héten 4 van. A többiek lista programozást csinálnak. Én kértem magamnak egyéni feladatot. Megírtam a ''sejtes'' progit. De szvsz te azt vágod és már egyszer le is programoztad.
Kor és értelem különbség van köztünk bőven, de nekem a a programozás csak hobbi, szintű! Én aztmondom szent a béke -
Rover623
félisten
válasz
Flashback #96 üzenetére
Hú vazz...ne tetézd...
A dolog könnyebik végéről pedig annyit hogy nem fogok több száz oldalas lexikálist tudást felhalmozni azért hogy egy alaplapból kiszedjem a temp. értékeket
Ahogy írod, rendszerprogramozó (nohiszen...) leszel nemsokára.
Kívánom hogy végezd el...ha eddig eljutottál, biztos úgy lesz...
Kívánom hogy kapjál munkát hamar...nem könnyű!
Kívánom, hogy az első munkád olyan dolog megírása legyen amire van már valahol kész library, de a céged úgy gondolja, nem fizet ki érte súlyos ezer dollárokat (tapasztalat!), elvégre itt az ijú titán ''rendszerprogramozó'', tud mindent, ennyiért eldolgozik egy évet is, szépen megoldja a dolgot, nem mellékesen másra is befogható...
Azért megnéznélek amikor halál nyugodtan vágod a project-manager képébe a határidő végén a fenti mondatodat...megspékelve azzal, hogy még a köcsög fórumozók sem segítettek a PH!-n pedig egész végig piaci légy módjára basztattad őket, de mindhiába, csak nem akarták helyetted megoldani a feladatot...
Hozzáállásbeli problémák vannak nálad papuskám...remélem kinövöd...! -
Rover623
félisten
válasz
Flashback #95 üzenetére
Tényleg utoljára, és nem bántani akarlak...jótanács!
Nincs érzéked hozzá!
Az ember akkor lehet igazán boldog, ha olyat csinál amit szeret...és tud, amben sikeres lehet, amiben kevés kudarcélmény érheti.
Az érdeklődés meg van benned, kitartásod figyelemre méltó...de ez nem a te világod! De nem is kell...lehetsz jó adatbázis programozó, sőt még a játékok terén is lehetsz ász a hardware közeli kódolás ismerete nélkül!
Ami nem megy, nem kell erőltetni...én sem kérek tanácsokat a body-builderektől edzésterv és táplálékkiegészítők témában...minek? Az én 65 kilóm arra elég, hogy ne másnak kelljen arrébb tenni a szemetesvödröt ha az utamba akad
Autóversenyző és autóversenyző között is baromi nagy különbség van, pedig ott a szakágak között sokkal kevesebb a difi mint a programozásban...a Schumi is fasza gyerek, meg a Burns is, de kétlem hogy ha szerepet cserélnének, mindkettő ugyanolyan sikeres maradna...
Minden ember agya, gondolkodása más...
Jó vagyok pacalban, assemblyben, sokat dolgoztam Fortranban, megy a Basic, olvasni tudok C-ül, írni már nem szeretek...
Az öcsém úgy néz ki mint aki egy ''hello world''-öt nem tud lekódolni magasszintű nyelven...aztán amikor dühösen a sarokba vágtam a Lisp könyvet, mert egy kurva literált (vagy hogy hívták azt a szart...) nem bírtam előállítani, mosolyogva felvette, elolvasta, majd elkezdte magyarázni NEKEM! mint okos apa a hülye kisfiának...
Akkor sem értettem, most már nem is fogom...
Nem megy, hanyagolom...azt csinálom ami megy, jobban érzem magam
Ezt javaslom neked is...én jót akarok neked, nem vagyunk egymásnak konkurrencia, nem haragszom rád (látod segíteni is próbáltam...nem szokás programozók között ilyen szintű forrás átengedése, majd rájössz...), régebb óta programozok mint te élsz...
Uff! Szóltam! -
A dolog könnyebik végéről pedig annyit hogy nem fogok több száz oldalas lexikálist tudást felhalmozni azért hogy egy alaplapból kiszedjem a temp. értékeket.
Ha igazán a könnyű utat akarnám választani akkor Delphi 8.0. Mert a .NET résznél van egy ilyen függvény hogy Windows32.temp.probe1
A magyarázásról pedig annyit hogy a tömör lényeget Wnix eddig 2-3 hszban elmondta. Nem utolsó sorban a fórum lényege hogy segítsük egymást. -
A programozást ott kezdtem hogy a könyvtárból kivettem hogy írjunk játékprog.-okat C64-re. Akkor még nem értettem belölle sokat de tetszett mert a progik működtek.
Majd a szomszéd sráctól aki középiskolába járt elkértem a Turbo Pascalt, én akkor ált. iskolás 6.-os voltam. 7.-ben már tudtam működő progit írni. Ekkor vettem hozzá egy könyvet.
Majd később találkoztam a Delphivel és azóta ezt használom. Több mint 5 éve. Az igaz hogy a gépközeli programozásom az a Pascal Sound(frek,time); parancsnál abbamaradt.
Jelenleg Rendszer informatikusnak tanulok. 1 év mulva már be is fejezem. Sajnos mi hardware részt csak elméletben tanulunk. Azt meg könnyebben felejti az ember. Tehát ha ezt ennyi ideig is kell magyarázni annak oka van. Remélem nem és vagyok hozzá a hülye, csak lassan értem meg, és látom át! -
-
Rover623
félisten
Wnix!
Minden tiszteletem a tiéd...!
De...van egy rakás könyv ami a gépközeli programozással, assembly-vel, architekturális dolgokkal foglalkozik...
Ezeket (vagy ilyesmiket) azért illene átolvasni, az alapokat el kellene sajátítani...
Hardvert nem lehet a vas ismeretének teljes hiányában, mérnöki szemlélet és logikus gondolkodás híján programozni...
Ez itt (amit Flashback csinál) a dolog erősen könyebbik vége
Nem lesz belőle rendszerprogramozó...akár mennyi időt szánsz rá...
Szerintem...
És hidd el nekem, sok codert láttam már: jót is...rosszat is... -
wnix
senior tag
válasz
Flashback #90 üzenetére
Úgy képzeld el, mintha lenne 3db RAM-chiped amit csak egy memória-címen keresztül egyenként tudsz elérni.
adott.
ram1 32byte-os
ram2 32byte-os
ram3 32byte-os
címző-chip 32byte-os
ezeket csak egy ''címző''-chip-en keresztül tudod elérni, de csak külön külön, mert a ''cimző''-chip is csak 32byte-os. Így a ''címző''-chip-nek meg kell mondanod, hogy melyik ram 32byte-ját (melyik bank-ot) akarod elérni. Ha ezt megmondtad neki, akkor a ''címző''-chip átmásolja a ram 32byte-ját a ''címző''-chip 32byte-jába és onnan ki tudod olvasni. Ezeket a ram-okat a ''címző''-chip segítségével ''bank''-ként kezeled így.
Így érthetőbb ?
Rover623:
szvsz mindenki alacsonyról indul. Én legalábbis így kezdtem. Speciel ATA-programozással, ahol néha az egész évi programozói-munkámat egy-két bit elírásával ''megformáztam''. Jó lett volna akkoriban nekem is valaki, aki néhány dolgot megmagyarázott volna. Így továbbra is megpróbálok türelmes maradni, és egy szív-infarktus-mentes életet élni.
(Flashback CPUBurn programját ma is előszeretettel használom)
-
-
Most $58-on nem $21-et kapok hanem 255t!! Miért? 87-estől kezdve végig 255.
[Szerkesztve] -
-
Rover623
félisten
válasz
Flashback #85 üzenetére
Olvasd át figyelmesen a két unit-ot amit küldtem
Ott van benne egy rakat gyártó sokféle cuccára hogy hol van benne a gyártó és típusazonosító...nemcsak monitor-chipekre, hanem egyszerű hőmérsékletszenzorokra is!
Ha megérted az elvet, kidolgozol egy-egy metódust gyártónként, akkor már csak szorgosan kell gyűjtened a gyári adatlapokat és bővíteni a listát... -
-
-
wnix
senior tag
válasz
Flashback #80 üzenetére
Én mindenhol regisztereket írtam, nem port-okat. I/O-Port csak az ISA-buszon vannak. Azon meg spórolni kell, mert csak 65536+-1 db van összesen.
'''Temperatur Sensor 2'' a Bank1-ben 4Eh-ba 81h-t írni és az 50h-t és a 51h-t kiolvasni.
Ez kb így néz ki:
PortOut(295h,4Eh); //* ezzel beadod az index-portba, hogy a 4Eh-regiszterrel akarsz valamit
PortOut(296h,81h); //* ezzel beadod a data-portba, hogy az előbb megadott regiszterbe 81h-t akarsz írni
PortOut(295h,50h); //* ezzel beadod az index-portba, hogy az 50h-regiszterrel akarsz valamit
érték50:=PortIn(296h); //* ezzel kiolvasod az előbb megadott regiszter értékét
PortOut(295h,51h);
érték51:=PortIn(296h);
Vagy akkor hogy lehet a 4eh portra írni?
PortOut(295h,4Eh);
PortOut(296h,érték);
lehet hogy a két parancs között egy kis időzítés kell, de nem biztos. (nem tudom milyen gyorsan dolgozik egy Winbond 83627HF chip)
[Szerkesztve] -
válasz
Flashback #80 üzenetére
Jajj ezer bocs, mostmár felfogtam és le is programoztam amit mondtál. Ha jól értelmeztem akkor ezt adom be neki:
PortOut($295,$4E); // 4Eh-ba írni
PortOut($296,$81); // A 81h-t
PortOut($295,$50); //50h portot kiolvasni
Memo1.Lines.Add(inttostr(PortIn($296))); //kiírni a képernyőre
És tényleg! Műxik! 45-t kaptam vissza és az ABITEQ-is ezt mutatja! 1000 kösz! -
-
-
-
wnix
senior tag
válasz
Flashback #67 üzenetére
Az érthetőség kedvéért:
a Port azt ami a 295h=661-en és a 296h=662-ön írhatsz/olvashatsz. Ezek az ISA-bushoz tartoznak. Ezeket írhatod a PortOut(Port,Érték) függvénnyel és olvashatod a érték:=PortIn(Port) függvénnyel.
pl: Kiolvasod a port 295h értéket: érték:=PortIn(295h);
Írhatod a port 295h-ot egy értékkel: PortOut(295h,érték);
a 295h az az ISA-index regiszter
a 296h az a ISA-data regiszter
csak ezeken keresztül érheted el a Winbond chip-et. (A PortIn,PortOut csak ezekre irányulnak)
A regiszterek a Winbond Chip regiszterei. Ezeket nem tudod elérni közvetlenül (pl regiszter 4Eh olvasni nem tudod így érték:=PortIn(4Eh) ), csak az ISA-porton keresztül.
pl: Winbond-regiszter 4Eh-t olvasod így: PortOut(295h,4Eh)
ekkor a Winbond Chippel közlöd, hogy a 4Eh regiszterhez szeretnél hozzáférni, de a regiszterben levő adatot még nem tudod. Ezt a 296h (data) porton olvasod ki így: PortIn(296h) közvetlenül az index-regiszter megadása után.
Tehát a 4Eh regiszter kiolvasása:
PortOut(295h,4Eh);
érték:=PortIn(296h);
Ha a winbond 4Eh regiszterét írni akarod akkor:
PortOut(295h,4Eh);
PortOut(296h,érték);
Mindig párosával használd az Index és a Data ISA-regisztereket. -
-
Rover623
félisten
válasz
Flashback #72 üzenetére
Bocsi, de nem használok MSN-t...ez az emil cím a gyerekemé, ezen max. vele beszélhetsz
Ennél többet én már nem tudok neked segíteni...adtam kódot, elmagyaráztam az elvet, a kollégával együtt szerintem minden alapinfót megadtunk ami az induláshoz kell.
Ha ez így megy tovább, gyakorlatilag mi fogjuk megírni a kódot...annak meg nincs értelme, pláne hogy én elküldtem neked egy igen részletesen kommentezett MŰKÖDŐ! forrást, amiben az értelmezés is erősen ki van dolgozva, ráadásul egy rakás chipre...
Nekem semmi kedvem újra megírni (most Delphi-ben), te meg nem fogod megérteni az alapelveket, ergo le fogsz blokkolni a következő ilyen jellegű problémánál.
Akkor érted meg igazán a dolgok működését, ha magad csinálod...
Bye! -
Most hogy olvasgattam a chip pdf könyvét. Hát eléggé belezavarodtam a programozásába. A lényeg, hogy már megvan az io.dll. Ezt felhasználva kellen kiolvasni a megfelelő registerből az értéket. Tehát erre a dll-re vetítve leírnátok a lépéseket! Ha a folyamat végére nem értem meg, nem baj a lényeg az hogy működjön...
A dll-hez kapcsolódóan, a felhasználható proc., és func.,-ök:
procedure PortOut(Port : Word; Data : Byte);
procedure PortWordOut(Port : Word; Data : Word);
procedure PortDWordOut(Port : Word; Data : DWord);
function PortIn(Port : Word) : Byte;
function PortWordIn(Port : Word) : Word;
function PortDWordIn(Port : Word) : DWord;
procedure SetPortBit(Port : Word; Bit : Byte);
procedure ClrPortBit(Port : Word; Bit : Byte);
procedure NotPortBit(Port : Word; Bit : Byte);
function GetPortBit(Port : Word; Bit : Byte) : WordBool;
function RightPortShift(Port : Word; Val : WordBool) : WordBool;
function LeftPortShift(Port : Word; Val : WordBool) : WordBool;
function IsDriverInstalled : Boolean;
Rover623-nak köszönöm eddigi türelmét. Bár jó lenne ha itt lenne és tudna válaszolni az előbbi kérdéseimre. -
-
-
-
Rover623
félisten
válasz
Flashback #67 üzenetére
Flashback!
Szvsz addig hagyd abba amíg össze nem omlik a géped...
Abszolute nem vágod a dolgot
Nem a 4E meg hasonló PORTOT! kell bazgatni, hanem a 627-esen belüli regiszereket!!!
Az általam vázolt olvasórutint kelk használnod az olvasásra és annak az analógiájára kell írnod egy rutint, ami írja regiszter tartalmát!
P.S.:
Ami nem megy, azt ne erőltessük...mondta nekem a vizsgabiztos. Nem is vezetek, csak ha muszáj
Szerintem neked egyáltalán nem kéne vasat programoznod...nem hiszem hogy az életed múlik rajta... -
up!
-
A forrás:
For i:=0 to 20 do
Begin
PortOut($4e,$81);
memo1.Lines.Add(inttostr(PortIn($50)));
memo1.Lines.Add(inttostr(PortIn($51)));
end;
Az eredmény:
166
14
3
6
241
18
1
17
103
5
3
11
12
4
0
13
40
13
1
10
191
13
1
5
208
5
1
2
77
14
0
2
156
15
2
6
208
9
0
9
141
11
Ezzel most mit csináljak? Ez nekem nem tűník temp, értékeknek... -
-
wnix
senior tag
válasz
Flashback #63 üzenetére
A pontos lépésekkel nem szolgálhatok (nem vagyok benne biztos, hogy műkődik-e).
De szvsz próbáld meg, hogy a 4Eh regiszterbe beírsz egy Bank-címet, és megint kiolvasod az összes regisztert. De először ezt próbálnám.
Regiszter 4Eh-ba 80h-t beírni, és olvasni a 4Fh-regisztert. Most 5Ch-t kell, hogy kapjál.
Ha 4Eh-ba 00h-t írsz akkor 4Fh-t olvasva A3h-t kell, hogy kapjál. Együtt az 5Ch és a A3h a ''Winbond Vendor ID''. Így tudsz 16bit-es értéket kiolvasni (4Eh-ban a 7.bit írásával/törlésével)
Ezután próbálnám a bank-okat is sorban kiolvasni pl.
''Temperatur Sensor 2'' a Bank1-ben 4Eh-ba 81h-t írni és az 50h-t és a 50h-t kiolvasni. (59.oldal) -
-
-
Ahogy elnéztem a 4Ah-n van 2 temp. érték. Aztán nézem hogy 50h-56h ig is van 2. Ezt most hogy van? Innen hogy szedem ki az értékeket?
-
Akkor ez kéne nekem?
[Szerkesztve] -
wnix
senior tag
válasz
Flashback #51 üzenetére
a registerek leírását a #8-as hsz-ben belinkelt (Bővebben: link) pdf-ben, a 38. oldaltól találod.
Megjegyzés:
1. szvsz a számokat ne 10-es alapu számrendszerbe írasd ki, mert ezeket megint vissza kell váltanod 2-es vagy 16-os alapúvá (fűggően melyik számrendszerben ''mozogsz otthonosan''). Itt regiszterekről van szó, itt a bit-eknek is van külön-külön jelentése.
2. amennyire átolvasgattam a fenti pdf-et, nem elég a regiszterek egyszerű kiolvasása, mert ebben a chipben több memoria-részre bontották a hardverinfok tárolását, (bank 1, bank 2, stb) így ezeket csak bizonyos regiszterek átírásával tudod kiolvasni.
3. az általad kiíratott regiszterek némelyike pl 79. (alias 4Fh) =163 (alias A3h) (pdf-ben 52.oldal) már jó, de pl ez a VendorID regiszter alsó 8bit-je, de hiányzik a felső 8bit. Az ilyen ''fix'' regisztereken lehet jól kipróbálni a programot műkődés szempontjából...
egyenlőre ennyi.... -
-
up
-
-
up
-
válasz
Flashback #50 üzenetére
Bocs, egyhelyre írtattam ki. Szóval a teljes lista:
32 = 103
33 = 165
34 = 205
35 = 185
36 = 195
37 = 38
38 = 52
39 = 25
40 = 87
41 = 255
42 = 255
43 = 116
44 = 90
45 = 116
46 = 90
47 = 237
48 = 176
49 = 0
50 = 37
51 = 0
52 = 138
53 = 64
54 = 0
55 = 0
56 = 6
57 = 16
58 = 8
59 = 32
60 = 36
61 = 35
62 = 0
63 = 0
64 = 1
65 = 0
66 = 0
67 = 255
68 = 255
69 = 0
70 = 0
71 = 168
72 = 45
73 = 2
74 = 1
75 = 132
76 = 80
77 = 149
78 = 0
79 = 163
80 = 255
81 = 255
82 = 128
83 = 255
84 = 255
85 = 255
86 = 32
87 = 128
88 = 33
89 = 112
90 = 255
91 = 255
92 = 17
93 = 1
94 = 255
95 = 5 -
-
-
Elkezdtem átírni delphire a kódot de erre a sorra:
If ( (PortIn (LMBase) And $80) = 0) Then begin
Ezt dobja ki:
Operator not applicable to this operand type -
-
Rover623
félisten
Ha jól csinálod az $58-as regiszterből $21 értéket kell visszakapjál, ez a 627HF Winbondos azonosítója!
-
Rover623
félisten
válasz
Flashback #41 üzenetére
Te figyu!
Nem gonoszkodás...de ez nem fog neked menni...
Const
LMBase = $295;
Var
hTimeOut : Boolean;
Procedure IODelay;{ez csak vár, hogy egy kis idő elteljen}
Var
T : Byte;
Begin
For T := 0 to 255 do;
End;{IODelay}
{a monitor-chip adatterületének Index-ben megadott regiszterét olvassa}
Function hISAReadRutin (Index: Byte): Byte;
Var
Szamlalo : Word;
Begin
hTimeOut := True;
{1000-szer probáljuk}
For Szamlalo := 1 to 1000 do begin
{ha a Busy bit nem áll, akkor szabad a busz, mehet a móka}
If ( (PortIn (LMBase) And $80) = 0) Then begin
hTimeOut := False;
Break;
End;{if}
End;{for Szamlalo}
{ha timeout volt, akkor is megpróbáljuk, van amikor ebben az esetben is jó!}
{megcímezzük a regisztert}
PortOut (LMBase, Index);
{várunk}
IODelay;
{kiolvassuk a regiszter értékét}
hISAReadRutin := PortIn (LMBase+1);
IODelay;
End; {hISAReadRutin}
A fenti rutinok segítségével kiirjuk a 627 értékes regisztereit:
Var
RegValue,
_627Reg : Byte;
If IsDriverInstalled Then begin
For _627Reg := $20 to $5F do begin
RegValue := hISAReadRutin (_627Reg);
If hTimeOut then begin
{a megcímzett regiszter nincs implementálva a chipben, vagy valami más
szoftver aktívan buzizza a chipet, pl. Asusprobe, Speedfan, Everest, stb.}
Break;
End;{if}
{Szépen kiírogatod a képernyőre az eredményt pl. TP-ben
Writeln (_627Reg, ' = ', RegValue);
formában...Delphi-ben a tököm tudja most hogy kell...
}
End;{for _627Reg}
End;{ha be van töltve az IO.DLL !!!}
[Szerkesztve]
[Szerkesztve]
[Szerkesztve] -
-
Az maradjon az én titkom
Ezt nézd meg plz Bővebben: link Tudnám-e ezt hasznosítani??? -
-
Rover623
félisten
válasz
Flashback #35 üzenetére
Vágom...még jó...én írtam...
De ember...hát ott van a kódba, vazzeee...
LMBase = $295;
A hISAReadRutin kb. 5 perc alatt módosítható Delphi-re.
Ezután végrehajtod egy ciklusban $20-$5F tartományban és a kapott értékeket lerakod egy array-be. Azért csak ezt a részét, mert az alsó 32 byte a chip vezérlését szabályozza és azt nem mindig szereti ha olvassák.
A 32 fölötti NVRAM területen vannak azok a regiszterek, ahova folyamatosan beírja a mért értékeket.
Ezután a Winbond doksija alapján (vagy az általam küldött hlist unit alapján) értelmezed a kapott adatokat.
P.S.:
Egyébként publikus, hogy minek kell ez neked?
[Szerkesztve] -
-
-
Rover623
félisten
válasz
Flashback #32 üzenetére
Ami téged első körben most érdekelhet az a hISAReadRutin.
Ez az ISA buszon lévő chip Index-el jelölt regiszteréből olvassa ki az adatot.
Neked eddig azért nem sikerült, mert a bázisport is kétirányú. Írásnál ide kell küldeni a megcímzett regiszter számát, olvasásnál viszont status portként viselkedik, a legfelső bit jelzi hogy foglalt a busz. Meg kell várni amíg nullába megy, ekkor lehet kiküldeni a regiszter számát, aztán lehet olvasni az eredményt az adatregiszterből.
Általában nem foglalt, de muszály legalább egyszer olvasni, mert csak ekkor törlődik tutira az utolsó esetleges foglalt jelzés, és amíg az áll, nem enged hozzáférést a regiszterekhez. -
-
-
-
Rover623
félisten
válasz
Flashback #26 üzenetére
Ha tényleg érdekel a dolog, elküldök neked mutatóba két unit-ot. Nem Delphi, hanem sima Turbo Pascal, de ezt legalább könnyebben olvasod mint a C-t.
Kiolvasni egyszerű a dolgot, értelmezni kevésbé. A kapott adatok függenek a monitor-chiptől, annak felprogramozásától, a ráakasztott szenzoroktól és még az alaplap típusától is (gyártónként-típusonklént más referencia szintek!).
Annak idején (ezt is) elkezdtem komolyabban csinálni, csak a variációk sokasága nem fér össze az időmmel
627HF-et viszont pont kezeltem annak idején, semmi extra, sima ISA buszos móka
Vannak ennél bonyolultabbak is...pl. déli hídba integrált SMBUS kontroller I2C buszára akasztott szenzorok...
Szóval nem kis falat...
[Szerkesztve] -
A probléma még adott. Van io.dll-em csak nem tudom hogy kell használni! Lásd 16#
-
sonar
addikt
Biztos. Én nem vagyok programozó! Csak otthon könyvből tanulom, mert érdekel.
És kérdezősködtem és ezt a választ kaptam. -
Alan
aktív tag
Ez önmagában nem probléma, egyrészt Delphiben is lehet kernel drivert írni, másrészt már sokan megírták a maguk port I/O komponensét, és vannak köztük jól használhatók is.
Igazából szerintem yksz-nek még tapasztalatot kellene gyűjtenie, mielőtt ilyenbe belekezd, azért tanácsoltam neki, hogy nézzen be előbb a másik topicba ;) -
sonar
addikt
Ha még aktuális akkor mondom:
Alapvetoen a gond az, hogy port I/O-ra van szukseg a szenzor regiszterek eleresehez. Ehhez pedig kernel drivert kell irnod, ami csak C++-ban megoldható.
Ezt az infót kaptam mikor kutakodtam kicsit a témában.
Üdv sonar -
yksz
aktív tag
Nekem ASRock alaplap, K7S8XE chip van. Ezzel most mit kezdjek, hogyan tudom kiolvasni belole az adatokat?
-
-
wnix
senior tag
válasz
Flashback #18 üzenetére
Mást én se nagyon tudok. Elég komplikált egy érzékelő programozása, főleg, ha a ''chipset''-hez nincs külön leírás.
Talán még Bővebben: link.
vagy végsőként: Bővebben: link -
-
wnix
senior tag
válasz
Flashback #16 üzenetére
Találtam egy kis delphi-source-ot, de csak Intel 82801 és 82371AB/EB (PIIX4). Asus 99127F vagy Winbond-ra lett írva. Talán így is segít !
Bővebben: link -
Naszóval a DLL-t csak egész 10 alapú számrendszer beli számokkal tudom programozni.
Tehát a
295h=661 port
296h=662 port
Szóval a kérdés az hogy mielyen értéket adok be ide? Már sok variációval probálkoztamm de semmilyen értékelhető eredményt nem kaptam a 662s porton... Segítség!!! -
yksz
aktív tag
? BIOS-ban a CPU beállításait mivel lehet lekérni, vagy átállítani?
-
-
wnix
senior tag
válasz
Flashback #11 üzenetére
MSN nincs, és ICQ sincs...
Idézet a 22.oldalról:
''port 295h: index port
port 296h: data port''
az index-port-ra beírod hogy melyik registerbe/ből akarsz olvasni/írni és akkor a data-port-ról olvashatod/írhatod a registert....
de mindent neked kell a chip-en programozni, az inicialialázálástól kezdve az adatkiolvasásig...( egy debugger sokat segít !)
sokat nem tudok segíteni, mert ezt a chipet még én se programoztam, ezért ajánlom figyelmedbe a linux-kernel-source-t, ebben van néhány érzékelő-driver, ami segíthet... -
-
wnix
senior tag
szvsz kezd a 22.oldalon a ''2. Hardware Monitor''-ral...
ezt a chipet még nem programoztam, de többnyire úgy szokott lenni, hogy van egy BASE register és van egy INDEX register. Ha beírod a BASE-registerbe az INDEX-register számát, akkor a következő olvasási ciklusban lehet kiolvasni/beírni azt ami kell.
a linux-kernel-source talán többet tudna segíteni ha értesz ''C++''-ul. mert abban is vannak pár érzékelő-driverek.... -
-
wnix
senior tag
-
-
Leszedtem az io.dll-t !. Irtam hozzá egy progit.
A Speedfan aztmondja hogy a $290-es ISA Bus-on van rajta a proci, és a ház Hőmérséklete.
Az én progim a 290-es portra 255-t ír! Je és nem $-el kell beadni a portot. És az hogy van hogy egy porton több érték is van? Ezeket hogy tudom elválasztani? -
-
KovacsUr
addikt
Egy linkgyűjtemény -> Bővebben: link
IO.DLL allows seamless port I/O operations for Windows 95/98/NT/2000/XP using the same library -> Bővebben: link
A Port[] és PortW[] a Pascalban működött, védett módban (pláne NT alapú rendszereknél) ennél jóval bonyolultabb a dolog. -
valaki akkor ezt a port[]-ot árulja már el....
-
(* Igen tudom van delphi fórum is de ez egy nagyobb volumenű dolog és 1 válasz valószínűleg nem lesz elég... *)
Szóval a cél a következő: a Cpu hőmérőszenzorának az értékét kellene valahonnan megtudni. Sajnos csak egy német fórumot találtam ami a következő technikákat mondja.
1.) A dlportio.dll segítségével kell meghatározni. Megpróbáltam, telepítettem, semmi.
2.) A másikban pedig egy port[] delphi parancsot hívnak meg ami nem létezik... (vagy a comctrls.dcu tartalmazza ami nekem nincs meg)
Az 1. nagyon körülményes hiszen ez teljesen chipkészlet függő... 2. jobb lenne...
Aktív témák
Hirdetés
- ASUS Radeon RX 7600 V2 Dual OC 8Gb - Aqua gari 26.12.12 ig
- Apple iPhone 16 128GB Kártyafüggetlen 1Év Garanciával
- AKCIÓ! Apple Macbook Air 13" 2020 M1 8GB 256GB SSD notebook garanciával hibátlan működéssel
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
- Gyors, Precíz, Megbízható TELEFONSZERVIZ, amire számíthatsz! Akár 1 órán belül
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest