Hardware Reference
In-Depth Information
Auf die Zeichenfolge *ESE darf also entweder ein Fragezeichen oder ein Leerzei-
chen folgen, damit die Folge weiterhin gültig ist. Es sollen beide Wege verfolgt wer-
den. Ein ? würde zur Tabelle TABCese? weiterleiten.
TABCese?
;this must be command *ESE?
DB
0x0A
DB
HIGH ese?
DB
LOW ese?
DB
';'
DB
HIGH ese?
DB
LOW ese?
DB
0
Wie der Kommentar im Listing bereits andeutet, könnte im Bulk-OUT Endpoint
also der Befehl *ESE? stehen. Das käme darauf an, ob als Nächstes entweder das
Steuerzeichen 0x0A oder ein Semikolon folgen würden. Das Steuerzeichen 0x0A ist
das ASCII-Steuerzeichen für einen Zeilenvorschub (Newline). Es würde nicht nur
bedeuten, dass der Befehl damit abgeschlossen wäre, sondern dass es auch das letzte
Zeichen im Bulk-OUT Endpoint wäre, das zur aktuellen Befehlsübertragung
gehört. Sofern der Parser also eine Übereinstimmung mit 0x0A findet, interpretiert
er die nächsten beiden Bytes in der Vergleichstabelle als Startpunkt des Befehlsun-
terprogramms für den Fernsteuerbefehl *ESE? Das entsprechende Unterprogramm
hat gemäß der Tabelle den symbolischen Namen ese? Nachdem der Parser diesen
Befehl ausgeführt hätte, würde er mit der Meldung beendet werden, dass keine wei-
teren Befehle im Bulk-OUT Endpoint stehen.
Sofern ein Semikolon anstelle eines Zeilenvorschubs folgt, gilt ebenso, dass der
Befehl ESE? als gültig erkannt wurde und unter der Adresse ese? ausgeführt wird.
Danach würde der Parser allerdings die Vergleichsoperation mit dem Zeichen nach
dem Semikolon fortsetzen, denn das Semikolon bedeutet, dass im Endpoint noch
weitere Befehle folgen.
Soweit dieser Weg der Übereinstimmung. Ausgehend von der Tabelle mit dem
Namen TABCese soll nun noch der andere Fall untersucht werden. Wenn anstelle
des Fragezeichens nämlich ein Leerzeichen gefunden worden wäre, ginge der Parser
davon aus, dass er den Befehl *ESE < > gefunden hätte. Er würde somit die Ausfüh-
rung des Befehlsunterprogramms mit dem Namen ese veranlassen. Das Unterpro-
gramm ese erwartet nun einen Parameter, der zu dem Befehl gehört. Nachdem es
beendet wurde, würde der Parser das Ende dieses Parameters im Bulk-OUT End-
point suchen, um festzustellen, ob auf diesen Parameter entweder weitere Befehle
folgen, weil dort ein Semikolon steht, oder ob mit einem Zeilenvorschub das Ende
der aktuellen Befehlsübermittlung gemeldet wird.
Search WWH ::




Custom Search