E/A-Funktionen
Der schwierigste Aspekt der asynchronen Datenübertragung ist die
Verarbeitung der Zeichen mit der Geschwindigkeit, mit der sie
empfangen werden. Bei Geschwindigkeiten von mehr als 2.400 bps
muß die Zeichenübertragung von dem zentralen Rechner solange
suspendiert werden, bis schon empfangene Zeichen verarbeitet
wurden. Dies kann durch Senden eines XOFF-Befehls (Ctl-S) und
XON-Befehls (Ctl-Q) an den zentralen Rechner geschehen. Mit
X O FF wird der zentrale Rechner angewiesen, das Senden zu
stoppen. M it X O N wird er aufgefordert, das Senden wieder auf
zunehmen.
M it drei Funktionen kann festgestellt werden, wann es zu einer
Überlaufbedingung kommen kann:
L O C (x )
Gibt die Anzahl von Zeichen in dem Eingabepuffer
zurück, die auf das Lesen warten. Stehen mehr als
255 Zeichen in dem Puffer, so gibt L O C (x ) 255 zu
rück. (Der Eingabepuffer kann mehr als 255 Zei
chen aufnehmen, wie durch die /C:-Option in dem
BASIC-Befehl
255 Zeichen in dem Puffer, so gibt LO C (x ) den
tatsächlichen Wert zurück.
L O F (x )
Gibt den freien Platz im Eingabepuffer zurück. Hier
Handelt es sich um dieselbe Angabe wie /C: <G rö-
ße> - L O C (x), wobei Größe der Größte des Daten
übertragungspuffers wie von der Option /C: fest
gelegt, entspricht. Die Standardgröße des Puffers
beträgt 256.
E O F (x )
Gibt " wahr" (- 1 ) zurück, wenn der Eingabepuffer
leer ist; gibt " falsch" (0 ) zurück, wenn Zeichen
auf das Lesen werten.
INPUTS-Funktion
Wir empfehlen, die INPUTS-Funktion anstelle der IN PU T# - und
LIN E INPUT#-Anweisungen beim Lesen von Datenübertragungs
dateien zu benutzen, da mit dieser Funktion sämtliche gelesenen
Zeichen
einer Zeichenfolge
IN PU T# wird die Eingabe gestoppt, wenn ein Komma oder eine
Zeilenschaltung erkannt wird.
Durch INPU TS wird eine Zeichenfolge mit x Zeichen zurück
gegeben, die aus der Datei mit der Nummer Y gelesen wurde. Beim
Lesen eines Datenübertragungs-Puffers werden insbesondere die
folgenden Anweisungen benutzt:
3-2
angegeben.)
Bleiben weniger als
zugewiesen werden können. Mit