IowKitWrite Kuriosität

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
fwh
Posts: 23
Joined: Thu Jul 28, 2005 7:27 pm

IowKitWrite Kuriosität

Post by fwh »

Hallo,

ich habe ein VB Skript geschrieben, indem in regelmäßigen Abständen (je nach Einstellung 50-250 msek) Pins geschaltet werden.
Dabei stieß ich auf das Problem, dass die Durchläufe hakten. Der Abstand der ersten beiden Schaltungen nach dem Start oder einer längeren Pause waren viel kürzer als die anderen.
Ich hatte natürlich den Fehler in meinem Skript vermutet, (Stunden) später aber duch Verwendung des Timers festgestellt, dass mein Skript gleichmäßig durchläuft.
Die Ursache liegt irgendwo nach Verwendung des IowKitWrite, wo ich ja keinen Einfluß mehr darauf habe.
Ich habe das Problem dann auf die unschöne Art gelöst, indem ich Dummy-Schaltungen abfeuere, damit einfach keine Pausen mehr entstehen.
Das funktioniert zwar, ist aber - wie gesagt - eine Krüppel-Lösung.

Ist jemanden vielleicht das Problem bekannt - oder besser noch - weiß jemand eine bessere Möglichkeit, das Problem zu umgehen?

Freue mich über Hinweise dazu....

Viele Grüße
Detlev

PS : Das Logout ist für lange Texte zu kurz eingestellt. Mein erster Text war komplett weg und ich mußte von vorn beginnen - grrr.
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Da haben wir leider auch keinen Einfluss darauf. IowKitWrite muendet recht schnell in ein WriteFileEx und ab dann ist der Zeitverbrauch Sache von Windows. Der Zeitverbrauch in der DLL ist vernachlaessigbar.
fwh
Posts: 23
Joined: Thu Jul 28, 2005 7:27 pm

Post by fwh »

Vielen Dank - ich vermutete ähnlich, dass es am USB-Treiber liegt. Andererseits wäre das für z.B. Musikproduktionssoftware der Tod.

Gruß
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Deshalb sind USB-Soundkarten auch keine low-speed HID-Geraete.
Es gibt bei USB noch bulk und isochronous Uebertragungsmodi.
Bulk heisst ein schneller Datenstrom mit sicherer Ablieferung der Daten, aber keiner Zeitgarantie fuer die Bloecke.
Isochronous heisst das die Daten mit Zeitgarantie, aber noetigenfalls Dropouts bei den Bloecken abgeliefert werden.
Post Reply