ich möchte gerne die serielle Schnittstelle unter Linux nutzten.
Dazu habe ich auch ein gutes Tutorial gefunden was dies für DOS erklärt.
Hier mal der Link dazu: http://www.franksteinberg.de/progss.htm
Nun möchte ich das ganze aber unter Linux nutzten und nicht unter DOS.
Wie kann ich dies realisieren?
Hier ist der Programmcode in DOS: http://www.franksteinberg.de/SOURCE/COMBLINK.BAS
Code: Alles auswählen
'-- comblink.bas ----------------------------------------------- >>fst'04<< -
' - gibt abwechsend High-Pegel auf TxD und DTR/RTS von COM1 aus
' - an die entsprechenden Pins angeschlossene LEDs blinken abwechselnd
' - Anschlussschema: ( Pinbelegung Sub-D Stecker )
' * Widerstand 1 kOhm an Masse (9-Pol = Pin 5, 25-Pol = Pin 7)
' * langes Bein LED1 an TxD (9-Pol = Pin 3, 25-Pol = Pin 2)
' * langes Bein LED2 an DTR (9-Pol = Pin 4, 25-Pol = Pin 20)
' * langes Bein LED3 an RTS (9-Pol = Pin 7, 25-Pol = Pin 4)
' * alle kurzen Beine an den Widerstand
' - funktioniert alternativ auch mit den Modem-LEDs (soweit vorhanden)
'-- V 20040111 ------------------------------- http://www.FrankSteinberg.de -
CLS
LOCATE 4, 1
PRINT " LED-Wechselblinker fuer COM1 >> BENUTZUNG AUF EIGENE GEFAHR <<"
PRINT " Unter DOS oder im DOS-Modus ausfuehren!"
LOCATE 12, 1
PRINT " Datenformat-Register Bit 6 (break TxD) = "
PRINT " Modem-Steuer-Register Bit 0 (DTR) = "
PRINT " Modem-Steuer-Register Bit 1 (RTS) = "
BAdr% = &H3F8 'Basisadresse COM1; COM2 = &H2F8
DFR% = BAdr% + 3 'Adresse des Datenformat-Registers (Offset 3)
MSR% = BAdr% + 4 'Adresse des Modem-Steuer-Registers (Offset 4)
'Bit3 (MasterInterrupt) setzen; alle anderen Bits loeschen
'(erm”glicht Zugang zum COM-Port unter Win95/98):
OUT MSR%, 8
DO WHILE INKEY$ = ""
OUT (DFR%), INP(DFR%) OR 64 'Bit 6 (Wert 64) setzen = TxD
OUT (MSR%), INP(MSR%) AND 252 'Bit 0+1 (Wert 1+2) l”schen = DTR+RTS
LOCATE 12, 45: PRINT "1"
LOCATE 13, 45: PRINT "0"
LOCATE 14, 45: PRINT "0"
SLEEP 1
OUT (DFR%), INP(DFR%) AND 191 'Bit 6 (Wert 64) l”schen = TxD
OUT (MSR%), INP(MSR%) OR 3 'Bit 0+1 (Wert 1+2) setzen = DTR+RTS
LOCATE 12, 45: PRINT "0"
LOCATE 13, 45: PRINT "1"
LOCATE 14, 45: PRINT "1"
SLEEP 1
LOOP
Wie bekomme ich daraus ein unter Linux lauffähige Kommandozeilenprogramm?
Danke für die Hilfe
Linux-Fan