SComPort

Bietet Zugriff auf den COM-Port.

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SComPort
SComPortControl

Attribute

public:

Attribut Typ Beschreibung
errorText SString Letzte Fehlermeldung.
hPort HANDLE Betriebssystem-Handle des COM-Ports
recBuffer SRingBuffer Buffer der vorhandenen Daten
settings SComPortSettings
wndMsgTo HWND Betriebssystem-Handle für das Fenster, das bei Datenerhalt eine SCOMPORT_DATA-Message erhalten soll

protected:

Attribut Typ Beschreibung
connected bool
dwThreadID DWORD ID des Lese-Threads
hReadThread HANDLE Betriebssystem-Handle des Lese-Threads
orgDCB DCB DCB-Block zum Merken und Wiederherstellen des alten Zustandes
savedStates SStringList

Operationen

public:

Name Parameter Rückgabewert Beschreibung
clearBuffers void
close BOOL noRestore=FALSE void Schließt den COM-Port.
deinit void Deinitialisiert die Klasse.
getPortList SMapStringToString& ports,
BOOL onlyActive,
SString* pErrorText
BOOL
init void Initialisiert die Klasse.
isConnected BOOL
onComPortData BYTE newData void Diese Funktion wird aufgerufen, wenn neue Daten auf dem Com-Port ankommen.
open const SString& portName="",
HWND wndMsgTo=NULL
BOOL Öffnet den Port.
read int timeout=200 BYTE Liest ein Byte vom COM-Port.
readDataAndWait SMem& paData,
int maxWaitTime,
int readBytes = -1
BOOL Liest Daten aus dem Eingangspuffer.
readDataAndWait SMem& paData,
int maxWaitTime,
const SString& endtag
BOOL Liest Daten aus dem Eingangspuffer.
readStringAndWait SString& paText,
int maxWaitTime,
int readChars = -1
BOOL Liest einen String aus dem Eingangspuffer.
readStringAndWait SString& paText,
int maxWaitTime,
const SString& endtag
BOOL Liest einen String aus dem Eingangspuffer.
restoreState BOOL
saveState void
sendSmartCmd const SString& cmd,
SString* pAnswer=NULL
bool
setState const SString& newConnectString BOOL
write BYTE byte BOOL Bibt ein BYTE auf dem COM-Port aus.
write void* pData, int size BOOL Gibt mehrere BYTE auf dem COM-Port aus.
write SMem& mem BOOL Gibt mehrere BYTE auf dem COM-Port aus.
writeText const SString& text BOOL Gibt einen Text auf dem COM-Port aus.
_PortReadThread void* lpvoid DWORD WINAPI Thread zum lesen der COM-Port Daten.
_setState BOOL

Detailbeschreibung SComPort

Bietet Zugriff auf den COM-Port.

Funktionsbeschreibungen

clearBuffers() void

close(BOOL noRestore=FALSE) void

Schließt den COM-Port.

deinit() void

Deinitialisiert die Klasse.

static getPortList(SMapStringToString& ports, BOOL onlyActive,SString* pErrorText) BOOL

init() void

Initialisiert die Klasse.

Erstellt den Datenpuffer.

isConnected() BOOL

onComPortData(BYTE newData) void

Diese Funktion wird aufgerufen, wenn neue Daten auf dem Com-Port ankommen.

Parameter:

newData neu agekommene Daten

open(const SString& portName="", HWND wndMsgTo=NULL) BOOL

Öffnet den Port.

Parameter:

portName Name des COM-Ports (COM1 - COM4)
wndMsgTo Handle des Fensters, das die Meldungen erhalten soll

Rückgabe:

BOOL Öffnen erfolgreich

read(int timeout=200) BYTE

Liest ein Byte vom COM-Port.

Fehler werden in errorText abgelegt. Im Fehlerfall wird das Byte 0x00 zurückgegeben.

Parameter:

timeout maximale Wartezeit in ms

Rückgabe:

BYTE gelesenes Byte

readDataAndWait(SMem& paData, int maxWaitTime, int readBytes = -1) BOOL

Liest Daten aus dem Eingangspuffer.

Es wird die angegebene Anzahl Millisekunden gewartet.
maxBytes begenzt die Anzahl der einzulesenden Zeichen.

readDataAndWait(SMem& paData, int maxWaitTime, const SString& endtag) BOOL

Liest Daten aus dem Eingangspuffer.

Es wird die angegebene Anzahl Millisekunden gewartet.
endtag bezeichnet die Zeichenkette bis zu der gelesen werden soll.

readStringAndWait(SString& paText, int maxWaitTime, int readChars = -1) BOOL

Liest einen String aus dem Eingangspuffer.

Es wird die angegebene Anzahl Millisekunden gewartet.
readChars begenzt die Anzahl der einzulesenden Zeichen.

readStringAndWait(SString& paText, int maxWaitTime, const SString& endtag) BOOL

Liest einen String aus dem Eingangspuffer.

Es wird die angegebene Anzahl Millisekunden gewartet.
endtag bezeichnet eine Zeichenkette, bis zu der gelesen werden soll.

restoreState() BOOL

saveState() void

sendSmartCmd(const SString& cmd, SString* pAnswer=NULL) bool

setState(const SString& newConnectString) BOOL

write(BYTE byte) BOOL

Bibt ein BYTE auf dem COM-Port aus.

Parameter:

byte auszugebendes Byte

Rückgabe:

BOOL Byte ausgegeben

write(void* pData, int size) BOOL

Gibt mehrere BYTE auf dem COM-Port aus.

Parameter:

pData auszugebende Bytes
size Anzahl der Bytes

Rückgabe:

ok false -> Fehler, Info in errorText

write(SMem& mem) BOOL

Gibt mehrere BYTE auf dem COM-Port aus.

Parameter:

mem SMem mit auszugebenden Daten

Rückgabe:

ok false -> Fehler, Info in errorText

writeText(const SString& text) BOOL

Gibt einen Text auf dem COM-Port aus.

Parameter:

text auszugebender Text

Rückgabe:

BOOL Schreiben erfolgreich

static _PortReadThread(void* lpvoid) DWORD WINAPI

Thread zum lesen der COM-Port Daten.

_setState() BOOL