Frage Deutsch
~~~~~~~~~~~~~
Gibt es eine Möglichkeit, aus QB heraus über die seriellen Ports COM 1 und COM 2
mit einer Baudrate von 115200 Bits/s zu kommunizieren?
 
Question English
~~~~~~~~~~~~~
How can a use Baud rates up to 115200 Bits/sec with the serial ports COM 1 and COM 2?
 

Antwort 1
~~~~~~~~
[ von Frank Steinberg ( f-steinberg*nexgo.de ) im QB-Forum 2001 ]
.
Von Haus aus unterstützt QBasic nur die seriellen Schnittstellen COM1 und COM2. Dabei sind jeweils nur Baudraten bis 19200 Baud (1 Baud = 1 Bit/sec) möglich. Laut Online-Hilfe sind zwar nur Baudraten bis 9600 möglich, aber auch 19200 Baud funktionieren laut Michael Frey ebenfalls problemlos.
 
Auf meiner Homepage "Neue Aufgaben für alte Computer" (
www.FrankSteinberg.de ) beschreibe ich dafür die folgende Methode:
 
Zuerst öffnet man die Schnittstelle wie gewohnt mit OPEN "COM1, .... Die Baudrate ist beliebig.
 
Danach sind vier Zeilen Code zusätzlich erforderlich:
OUT &H3FB, INP (&H3FB) OR 128
OUT &H3F8, 1
OUT &H3F9, 0
OUT &H3FB, INP (&H3FB) AND 127
 
Was passiert?
 
Zeile 1:
Die Basisadresse von COM1 ist &H3F8. An Offset 3 (&H3F8 + 3 = &H3FB) liegt das Leitungs-Steuer-Register. Da setzen wir Bit 7 (Wert 128) auf 1. Damit können die Register an Offset 0 und 1 für die Bestimmung der Baudrate verwendet werden.
 
Zeile 2 + 3:
Die Baudrate wird in Teilen von 115200 bestimmt. Für 75 Baud z.B. müssen wir einen Teiler von 1536 eingeben und für 115200 Baud eben 1. Der Teiler ist in zwei Bytes zu trennen. Der niederwertige muss an Offset 0, der höherwertige an Offset 1. Haben wir mit OPEN COM... eine Baudrate ab 600 aufwärts eingegeben, kann Zeile 3 auch weggelassen werden, da dort schon 0 drinstehen muss.
 
Zeile 4:
Bit 7 wieder löschen. Damit werden die Register für ihren ursprünglichen Zweck frei.
 
Für COM 2 ändert man alle OUT-Anweisungen für eine Basisadresse von &H2F8.
 

Antwort 2
~~~~~~~~
[ von Thomas Antoni, 19.6.2002 ]
.
Verwende PowerBasic. Diese Programmiersprache unterstützt von Haus aus die seriellen Ports 1 - 4 mit Baudraten bis zu 115000 Bd.

[ The QBasic-MonsterFAQ --- Start Page: www.antonis.de/faq ]