Zitat von
knoby:
...
Daher meine Frage: Wie kann ich eine möglichst schnelle Ansteuerung schreiben die genau das oben beschriebene Protokoll einhält?
PS: Ähnliche Themen gab es schon weiß ich aber keins davon brachte mich wirklich weiter
Hallo,
das wird nicht ohne spezielle Hardware gehen, die im PC ist nicht geeignet. Begründung:
1. Ist die Routine unterbrechbar durch andere Interrupts, so können die Unterbrechungen BELIEBIG lang sein, ein definiertes Zeitraster lässt sich so nicht einhalten, auch keine Maximalzeit.
2. Ist die Routine nicht unterbrechbar (ich glaube, das geht unter
WIN32 garnicht), so ist der Ablauf viel zu schnell - Clockimpulse wären nur nsec lang und vom angeschlossenen System nicht mehr erfassbar. Schliesslich läuft ein externer Prozessor mit 20 MHz oder so, der interne mit 2 GHz oder mehr.
3. Eine zeitliche Anpassung an den Prozessor mit Warteschleifen ist sowieso Quatsch, und Timerfunktionen mit µsec würden zumindest für die Dauer der Routine den PC weitgehend lahmlegen.
4. Wenn die serielle Schnittstelle virtuell ist, z.B. über USB, ist die ganze Diskussion eh sinnlos, weil da garkeine Reaktionszeiten definierbar sind. Jedenfalls nicht im gewünschten Zeitbereich.
Daher meine Meinung: so ein Protokoll muss von einem eigenen Prozessorchen erzeugt werden. Ein serielles Interface mit USB-Anschluss ist ja auch nichts anderes. Mit dem entsprechneden Knowhow könnte man so einem Interface das Gewünschte beibringen.
Gruss Reinhard