Die RS232-Schnittstelle am VC 20
Der VC 20 enthält im Betriebssystem bereits alle notwendigen Routinen zur Verwaltung einer RS232-Schnittstelle. Für den Anschluß von Peripheriegeräten wird auf den User-Port nur noch eine Erweiterungsplatine zur Anpassung der Signalpegel gesteckt.
Auf dem Markt erhältlich sind sowohl Schaltungen nach der V.24-Norm als auch nach der TTY-Norm (20 mA). Nach dem richtigen elektrischen Verbinden der Geräte ist die Einstellung der Parameter für die Zeichenübertragung im Computer dem angeschlossenen Gerät entsprechend vorzunehmen.
Eingestellt werden müssen die Baudrate, die Anzahl der Datenbits, die Anzahl der Stoppbits, die Art der Paritätsüberprüfung und das Rückmeldeverhalten. Im VC 20, wo diese Schnittstelle unter der Gerätenummer 2 verwaltet wird, müssen beim Öffnen des Übertragungskanals in zwei Registern, dem Kontrollregister und dem Befehlsregister, Zahlen zur Einstellung der Betriebsart übergeben werden. Es ist stets eine mühsame und fehlerträchtige Arbeit, derartige Zahlen aus Tabellen zusammenzusuchen und richtig zu verknüpfen.
Das hier vorgestellte Programm nimmt dem Anwender die Suche nach den Zahlen und ihre Verknüpfung ab. In einem Bildschirmdialog werden mögliche Einstellungen der Betriebsart angeboten und ausgewählt. Dabei werden die aktuellen Werte der beiden Register stets angezeigt. Nach der Einstellung beginnt ein Übertragungstest. Zuerst werden die Zeichen »Leerzeichen« bis »Rückpfeil« auf den Bildschirm geschrieben und an das Gerät gesendet. Dann wird noch ein Testsatz übertragen. Danach kann mit über die Tastatur eingegebenen Zeichen weiter getestet werden. In das Einstellungsmenü wird durch Drücken der » ← «-Taste zurückgesprungen.
Soll das Programm erst einmal ohne ein Peripheriegerät getestet werden, so genügt es, an den User-Port einen Teststecker anzuschließen. Dieser muß nur eine Brücke zwischen Pin »M« (Senden) und den Pins »C« und »B« (Empfangen) enthalten. Beim Öffnen des Files für Adresse zwei werden automatisch ein Sende- und ein Empfangspuffer mit einer Kapazität von je 256 Zeichen bereitgestellt. Über die Kurzschlußbrücke werden die gesendeten Daten in den Empfangspuffer übertragen. Dort können sie ausgelesen und weiter verarbeitet werden. In diesem Programm werden sie einfach auf den Bildschirm geschrieben.
So arbeitet des Testprogramm
In Zeile 140 werden Anfangswerte in die Variable K(I) für die veränderlichen Parameter der Schnittstelle eingegeben. Die Datazeilen 150 bis 240 enthalten Textblöcke für den Bildschirmdialog. Nach dem Einschalten der Repeat-Funktion für alle Tasten in Zeile 250 beginnt der Dialogabschnitt in Zeile 280 mit der Übernahme der Textblöcke in Stringvariable bis Zeile 300.
In den Zeilen 310 bis 340 werden die Menüs zur Parametereinstellung (Unterprogramm ab Zeile 520) angewählt und die errechneten Registerinhalte (UP 680) angezeigt. Nachdem die gewünschte Einstellung erfolgt ist, wird diese Schleife verlassen und die Testroutine ab Zeile 370 begonnen.
Darin wird zuerst der Bildschirm vorbereitet (UP 710), dann werden die aktuellen Werte von K(I) gerettet (UP 690) und gewartet, bis der Sendepuffer einer eventuell noch laufenden Übertragung ausgeschrieben ist (UP 660). Danach wird das File geschlossen. Dabei wird der RAM-Bereich der beiden Puffer für Basic wieder freigegeben. Weil hierbei ein CLR-Befehl ausgeführt wird, müssen die vorweg geretteten Parameter zurückgeholt (UP 700) und die Registerinhalte berechnet werden (UP 680). Darauf wird das File mit den neuen Parametern eröffnet, der Bereich wieder für Basic gesperrt und die dabei erneut gelöschten Parameter zurückgeholt (UP 700).
In Zeile 390 wird der Puffer initialisiert. Darauf (410 bis 420) wird ein Zeichensatz übertragen und gleichzeitig invertiert auf den Bildschirm geschrieben. In Zeile 430 wird ein weiterer Testsatz gesendet. Zur Vorbereitung des weiteren Tests mit Zeichen von der Tastatur her wird der Cursor auf Blinken geschaltet (440).
In den Zeilen 450 bis 490 liegt die Sende- und Empfangsschleife. Sind alle Zeichen aus dem Empfangspuffer verarbeitet, dann erfolgt gleich der Sprung zur Tastaturabfrage (nach 480). Ein dort eingegebener Rückpfeil beendet den Test und läßt zum Einstellungsmenü verzweigen. Andere Zeichen gehen in den Sendepuffer. Wurde ein Zeichen in Zeile 450 empfangen, dann wird, falls es ein Steuerzeichen ist, gewartet, bis der blinkende Cursor wegschaltet (470), sonst wird das Blinken auch bei aktivem Cursor ausgeschaltet, das Zeichen geschrieben und das Blinken wieder eingeschaltet.
Im Unterprogramm ab Zeile 520 werden sowohl die einzelnen Gruppen als auch die veränderlichen Parameter dieser Gruppen angezeigt, durch Cursor-up- und Cursor-down-Tasten verändert und durch »RETURN« übernommen.
In diesem Testprogramm konnte auf die Statusabfrage der RS232-Schnittstelle verzichtet werden, bei einerAnwendung in einem regulären Treiberprogramm sollte sie aber benutzt werden.
(Hans-Jürgen Kellermann/ev)