Hallo liebe IOW-Gemeinde,
jetzt habe ich schon wieder ein Problem mit dem ich nicht weiter komme und auch im Forum nicht so recht fündig wurde.
Ich benutze DELPHI 6.0 unter Win2K, den IOW40 mit IO-Kit 1.5 ...
Ich frage Zeitgesteuert (ca. 2500msek) über Timerevents die Ports des IOW ab. Dazu verwede ich "IOKitReadImmediate".
Und ab und zu bekomme ich als Rückgabewert $0000 obwohl ich $3FFE oder $3FEF erwarte.
Die Funktion IOKitReadImmediate liefert für den Vorgang .true. zurück. In diesem Fall lese zerlege ich den zurückgelesenen Wert "Value" in
seine 4 Bytes und arbeite damit weiter (und das bring mir einen "Pseudo-Fail meines Prüflings)
Wenn IOKitReadImmediate .false. zurückgeben würde würde ich einem Label den Wert "ReadImmediateError" zuweisen um den Fehler anzu-
zeigen, das passiert aber beim Rücklesen von $0000 nicht.
Was ich noch erwähnen sollte, ist das ich vor dem Read das Timeout mit "IOWKitSetTimeOut (IOWarriors[1],1000)" setze, da es mit immer
wieder passiert ist, das "ReadImmediate" nicht zurückkommt.
(siehe dazu http://www.codemercs.com/phpBB2/viewtopic.php?t=844)
Kann da ein zusammenhang bestehen?
In einem anderen Topic "659" im Forom habe ich einen Artikel von Guido Körber gelesen, der da auf Probleme in der SDK1.4 mit
"ReadImmediate" hinweist. Hier heist es:
"Um den aktuellen Portstatus zu bekommen muss man den SpecialMode Command GetStatus senden und dann die Antwort lesen."
Wie mache ich das und könnte mir das helfen?
Vielen vielen Dank an alle
ROBERT
IOWarrior liefert nicht immer den richten Wert zurück
Moderator: Guido Körber
-
- Posts: 8
- Joined: Wed Dec 06, 2006 4:36 pm
- Location: Lkrs. Augsburg
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
Da nutzt der Kerl nicht nur Delphi 6 sondern heisst auch noch wie ich ;-)
Na im Prinzip wie wie in jedem Special Mode Beispiel. Es ist ja auch sehr einfach, da es sich um Write/Read-Paare handelt. Man schreibt ein Special Mode-Kommando mit IowKitWrtie und liest dann mit IowKitRead die Antwort zurueck. Letztlich unterscheiden sich die Beispiele nur darin was man schreibt und was man mit den gelesenen Daten macht.
Na im Prinzip wie wie in jedem Special Mode Beispiel. Es ist ja auch sehr einfach, da es sich um Write/Read-Paare handelt. Man schreibt ein Special Mode-Kommando mit IowKitWrtie und liest dann mit IowKitRead die Antwort zurueck. Letztlich unterscheiden sich die Beispiele nur darin was man schreibt und was man mit den gelesenen Daten macht.