Erweiterte Dienste des Com-Servers
Die Struktur COM_STAT:
Die Struktur COM_STAT hat eine Länge von drei WORDS (16-bit-Integer) und enthält den
Status der Handshakeleitungen sowie den Inhalt des Sende- und Empfangsbuffers der seriel-
len Schnittstelle. Außerdem bietet sie die Möglichkeit, auf Handshakeleitungen und Buffer
direkt Einfluß zu nehmen.
typedef struct _com_stat
{
union
{
word com_flags;
struct _com_flags
{
};
};
word cbInQue;
word cbOutQue;
} COM_STAT;
Löschen von Buffern und Beeinflussung des Handshakes:
1. Kopieren Sie die komplette Struktur eines vom Com-Server-Port empfangenen Infopakets,
und füllen Sie das HighByte der Struktur COM_STAT aus.
2. Alle Befehle, deren Flags den Wert „1" haben, werden ausgeführt. Wenn Sie das Flag
set_rts_dtr setzen, achten Sie darauf, daß Sie auch im LowByte die Flags rts_hold und
dtr_hold entsprechend setzen.
!
Je nach Konfiguration des Com-Servers bzw. der Struktur box_cntrl.f_flags erfolgt über
die Signale RTS und DTR eine LOCK/UNLOCK-Anzeige oder auch die serielle Flußkontrolle.
In diesem Fall übernimmt der Com-Server selbst die Steuerung dieser Pins. Das Befehls-Flag
set_rts_dtr sollte daher nur bei der folgenden Einstellung der Struktur box_cnrtl.f_flags
verwendet werden:
f_rts_disable und f_dtr_disable = 1
f_inx_dtr und f_inx_rts = 0
word cts_hold
:1; //CTS line
word dsr_hold
:1; //DSR line
word ri_hold
:1; //not used/reserved
word rlsd_hold
:1; //reserved/reserved
word dtr_hold
:1; //DTR line
word rts_hold
:1; //RTS line
word x_receive
:1; //XOFF received
word x_send
:1; //XOFF was send
word dummy
word send_xoff
word flush_rd
word flush_wr
word set_rts_dtr :1; //set RTS to rts_hold and
word set_break
word clear_break :1; //Independent clearing break mode-
:2; //not used
:1; //Send XOFF asynchron
:1; //Flush serial input buffer
:1; //Flush serial output buffer
//DTR to dtr_hold
:1; //Independent setting break mode|
//Receive byte count of COM ring buffer
//Transmit byte count of COM ring buffer
W&T
w w w . w u t . d e
-LowByte
|
|is set with every
|received packet
|
|
|
-
-
HighByte
|
|
|
|
|
67