Von Jan Steinhardt am 21 Februar, 1998 um 12:57:24:
Antwort auf: COM-Port Programieren / Kartenterminal ansprechen ! von Stefan Hermes am 21 Februar, 1998 um 00:05:01:
: Kann mir da irgendjemand weiterhelfen ? (Quellcode,etc.)
Hallo,
ich zitiere die Profan-Hilfe
(Einführung/Die Verbindung zur Aussenwelt/Die serielle Schnittstelle)
Das folgende Beispielprogramm stellt ein minimalistisches Terminal dar, daß mit "§" ( Declare a$, f%, ende% Proc GetComInput Window 0,0-%MaxX,%MaxY Let f% = @OpenCom("COM2",1024,1024) Endif Die Prozedur GETCOMINPUT liest solange Zeichen aus der seriellen Schnittstelle, solange welche anliegen. Wenn man sicher ist, das nie mehr als 255 Zeichen anliegen, könnte man die Prozedur auch auf zwei Zeilen reduzieren:
'---------------
Parameters id%
Declare x$
Let x$=@ReadCom$(id%,1)
@ComError(id%)
Print x$;
WhileNot @equ$(x$,"")
Let x$=@ReadCom$(id%,1)
@ComError(id%)
Print x$;
EndWhile
EndProc
@SetCom("COM2:2400,N,8,1")
@WriteCom(f%,"ATZ\n") ' Modem initialisieren
@ComError(f%)
GetComInput f% ' Antwort abwarten und anzeigen
Let ende% = 0
WhileNot ende%
Let a$ = @inkey$() ' Tastatur abfragen
If @Equ$(a$,"§") ' Ende mit SHIFT-3
Let ende%=1
Else
IfNot @equ$(a$,"") ' Wurde ein Zeichen eingegeben, dann ans Modem
@WriteCom(f%,a$)
Endif
GetComInput f% ' empfangene Zeichen lesen
Wend
@CloseCom(f%)
End
Let X$ = @ReadCom$(f%,255)
Case @Len(X$):Print X$
MfG Jan