Themen / Index

Die serielle Schnittstelle

Es gibt in home/cc/lq zwei Möglichkeiten die serielle Schnittstelle zu bedienen:

Hier wird serial.cpp beschrieben.

Serial.cpp kann übersetzt werden für MSDOS6.22 (TurboC++) Mit oder ohne Interruptsteuerung), für OSK (gnu gcc), für Windows mit Visual Studio Version 5.0, oder für Linux.

Es werden bis zu MAX_SERINTERFACE Schnittstellen bedient. Deren Bezeichnungen sind eingetragen in char *sername[MAX_INTERFACENO] , für Windows siehe (*) für Linux siehe (*), für OSK siehe (*)

Jedes Betriebssystem benötigt unterschiedlichen Code zur Bedienung der seriellen Schnittstellen. Das ist überall berücksichtigt durch :
#ifdef LINUX,  - Für Linux-Rechner
#ifdef OSK, - Für OSK (OS-9) VME-Rechner
#ifdef DOSCLASSIC - für DOS-Programme unter Borlands TurboC++
#ifdef BIOS_SERVICE - für DOS-Programme
#if defined( MDOS40 ) || defined( MSVC40 ) - Für Windowsprogramme

Programme nutzen eine oder mehrere serielle Schnittstellen. Die Bezeichnungen sind voreingestellt. Um ein Programm einmal mit "/t11" und ein andermal mit "/t13" benutzen zu können, wird die in uchar ser_if_no[0] einmal eine 1, das andere mal eine 3 eingetragen. Aufrufparameter werden duchr serargs.cpp interpretiert, serargs.cpp trägt auch die gewünschte Schnittstellennummer nach ser_if_no[0] ein.

Manche Programme benötigen zwei Schnittstellen, z.B: die Leitungswächter in home/cc/util: lwunspec.cpp (mit lwbasis.cpp) oder lwak.cpp (mit lwbasis.cpp) oder lwasap3.cpp (mit lwbasis.cpp) oder lwrail.cpp (mit lwbasis.cpp) oder lwhaust.cpp (mit lwbasis.cpp) oder lwvedi.cpp (mit lwbasis.cpp)

Die Benutzung von serial.cpp wir demonstriert im Programm qqserial.cpp
Unter anderem verwenden die flgenden Programme serial.cpp:
util/hetrm.cpp

Argumente für die Schnittstellenparametrierung

-i=0 -i=1 : Ist die Standa
-i=0 -i=1 Die Standardanwahl für die erste und zweite Schnittstelle.
-i=3 -i=2
Stattdessen wird die vierte und die dritte Schnittstelle benutzt.
-i=0=/t15
Als Schnittstelle wird die Schnittstelle benutzt, die im Betriebssystem den Namen "/t15" hat.
-b=19200
Baudrate, nicht jedes Betriebssystem kann jede Baudrate. Die Vorbelegung ist 9600
-d=5
Anwahl der Datenbits, 5,6,7 oder 8 ist möglich. Die Vorbelegung ist 8
-s=0
oder -s=1: vorwahl von zusätzlichen Stoppbits. Damit wird nach jedem Zeichen etwas länger gewartet.
-h=n
Vorwahl des Schnittstellenprotokolls (Handshake)
-h=n : kein Schnittstellenprotokoll
-h=x : Xon / Xoff - Protokoll (Control-Q / Control-S)
-h=h : Hardware-Handshake durch die Modemsteuerleitungen
-p=n
Vorwahl des Paritätsbits:
-p=n : Keine Parität - Das Paritätsbit wird weggelassen.
-p=e : gerabe Parität
-p=o : ungerade Parität

Siehe auch

../../../pc/rs232.htm - Über serielle Schnittstellen und deren Belegung
../util/hetrm.htm - Die Terminalemulation