Hardware Reference
In-Depth Information
bellen. Für USBTMC-USB488-kompatible Befehle heißt die Wurzeltabelle
USBTMCroot. Für anbieterspezifische Befehle heißt sie VENDORroot. Alle Unter-
tabellen enthalten nach den großgeschriebenen Zuordnungsnamen immer die Zei-
chenfolge in Kleinbuchstaben, die zu dieser Tabelle führen. Ausnahmen sind Dop-
pelpunkte. Sie werden durch einen Unterstrich ersetzt.
10.6.3 Ein konkretes Beispiel für Vergleichstabellen
Zum besseren Verständnis der vorstehenden allgemeinen Tabelle folgt das Listing
der Wurzeltabelle für USBTMC-USB488-kompatible Befehle. Wie bereits erwähnt,
heißt sie USBTMCroot. Als erstes ASCII-Zeichen ist hier der Stern eingetragen (*).
Wenn der Parser Übereinstimmung mit dem aktuellen Zeichen aus dem Bulk-OUT
Endpoint feststellt, dann lädt er die beiden folgenden Bytes (HIGH TABC und LOW
TABC) als Tabellen-Startpunkt für den Vergleich mit dem nächsten Zeichen aus dem
Bulk-OUT Endpoint. Das wäre also eine Tabelle mit dem Namen TABC. Sofern
keine Übereinstimmung erfolgt, überspringt der Parser die beiden auf den Stern fol-
genden Bytes und vergleicht mit dem dort vorgefundenen Zeichen. Das ist im kon-
kreten Beispiel ein C. Sofern hier Übereinstimmung besteht, würde der Parser sich
demnach die Tabelle TABSc als nächsten Tabellen-Startpunkt merken. Wenn dieser
Fall nicht eintritt, ginge es weiter mit den Buchstaben O, R und S. Das auf die für S
eingetragene Tabelle TABSs folgende Zeichen ist ein Doppelpunkt. Gemäß der Vor-
schrift interpretiert der Parser diesen als Steuerzeichen und speichert die beiden fol-
genden Bytes im Scratch. Sie werden einerseits als Tabellen-Startpunkt für den
nächsten Vergleich zwischengespeichert und andererseits als Merker für die aktuelle
Befehlsebene aufbewahrt. Im konkreten Fall bedeutet das, dass der nächste Vergleich
wieder mit der Tabelle USBTMCroot erfolgt, denn diese ist hier eingetragen. Sofern
also ein im Bulk-OUT Endpoint eingetragener Befehl mit einem Doppelpunkt
beginnt, schaltet der Parser in das Wurzelverzeichnis USBTMCroot. Das nächste Zei-
chen in der Vergleichstabelle ist eine Null. Sie kennzeichnet das Ende der Tabelle.
Sofern der Parser in der Vergleichsoperation hier ankommt, würde er den Vergleich
abbrechen, ohne eine Übereinstimmung gefunden zu haben. Das würde bedeuten,
dass das zu vergleichende Zeichen an der aktuellen Position nicht im Befehlsvorrat
des Geräts vorkommt. Der Parser beendet den Vergleich mit einer entsprechenden
Fehlermeldung. Wenn man annimmt, dass der Parser gerade dabei ist, das erste Zei-
chen zu vergleichen, dann lässt sich gemäß der nachstehenden Tabelle auch sagen,
dass an dieser Position folgende Zeichen als gültig erkannt werden:
*, C, O, R, S und :
Ferner kann man sagen, dass die kürzeste denkbare Vergleichsliste aus einer einzi-
genNullbestehendarf.DerParserwürdedas im konkreten Beispiel so interpretie-
Search WWH ::




Custom Search