Serielle Schnittstelle überwachen

Hallo zusammen!

Mich würde mal interessieren wie man sich gezielt Daten von der seriellen Schnittstelle holen kann.

Meine Überlegung wäre eine Überwachung des Datenstroms und wenn eine bestimmte Zeichenfolge kommt das abspeichern eines Datenstrings der nach Anzahl/Abbruchkriterium begrenzt wird.

Ich stelle mir das eigentlich garnicht so kompliziert vor, aber leider habe ich in meiner Literatur nix zu dem Thema gefunden und auch beim googeln wenig Erfolg gehabt. Vielleicht kann mir ja wer einen guten link nennen oder ein paar passende Befehle.

Im Voraus vielen Dank für Eure Hilfe!

Gruß Hudel

Hallo,

innerhalb ein und desselben Rechners ist das alles andere als einfach, weil die serielle Schnittstelle wie eine exklusiv geöffnete Datei behandelt wird: läuft ein Programm, das auf COMx Daten austauscht, so wird jede andere Software melden „Access denied“ oder „COMx von anderem Programm belegt“ oder so ähnlich.

Sysinternals hat auch dafür was geschrieben:
http://www.microsoft.com/technet/sysinternals/utilit…

aber das ist eine fertige Anwendung. Vielleicht findest du was brauchbares, wenn du mit „windows serial port monitoring“ googelst.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Reinhard!

Schonmal vielen Dank für die schnelle Antwort.

Ganz so problematisch wie es den Eindruck gemacht hat wäre es wohl eigentlich bei der Anwendung die ich mir vorstelle nicht.
Ich möchte den Port exklusiv für das zu schreibende Programm nutzen, also nicht die Daten einer anderen Anwendung „abhorchen“. Das müßte doch dann etwas leichter gehen, oder?

Werde aber mal nach deinem Vorschlag googeln.

Gruß Marco

Hallo Marko,

deine Formulierung „Überwachung des Datenstroms“ war missverständlich, weil es normalerweise ohne Dialog-Software keinen Datenstrom gibt - dass an der seriellen Schnittstelle dauernd Daten eintreffen, ohne das du antwortest, ist eher ungewöhnlich. Aber wie auch immer, wenn du das Port selbst benutzen willst, wird es im Prinzip wie eine Datei behandelt, also mit CreateFile geöffnet und Daten werden gelesen mit ReadFile.

Die Details sind leider weit komplizierter, besonders die Initialisierung mit Baudrate usw. und das Auswerten von Ereignissen (Daten empfangen, Statusänderung, Fehler). Dazu gibt es entweder Tutorials oder fertige Bibliotheken, die alles können und für deinen Zweck Overkill sind, aber das ist heute ja normal.

Im Win32-SDK gibt es einen Abschnitt „About Communications“.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Reinhard!

Tausend Dank für den Tip mit der Win32SDK. Jetzt habe ich endlich eine Liste über die API-Befehle die ich schon so verzweifelt gesucht habe.*freu*
http://www.codingcrew.de/programmierung/win32hlp.php

Werde mir wohl etwas passende Literatur zum Thema Schnittstellen zulegen müssen. Was ich bisher an Code gefunden habe wirft mir mehr Fragen auf als es Antworten bietet. :o(
Vielleicht stell ich mir das auch zu einfach vor, aber irgendwie werde ich mein zeil schon noch erreichen… (hoffe ich)

Weißt Du vielleicht ein gutes bezahlbares Buch in dem was über Schnittstellen zu erfahren ist?

Gruß Marco