Forum: PC-Programmierung Com Port c++


von Gast (Gast)


Angehängte Dateien:

Lesenswert?

hi leute
ich hab mir hier eine routine zum auslesen der com geschrieben, sie
lief bis jetzt auch sehr gut.

nun hab ich versucht mehr daten, auf ein mal zu bekommen und erhalte
einen versatz, das heist, ich bekomm den ersten teil des datenpaketes
nicht mit, er geht mir irgend wo verlohren.

könnt ihr mir helfen?

von Gast (Gast)


Angehängte Dateien:

Lesenswert?

hier die komplette ansteuerung :)

von Rufus T. Firefly (Gast)


Lesenswert?

Dein Sourcecode ist auch im zweiten Anlauf nicht vollständig.

Vermutlich versuchst Du Dich mit overlapped I/O, aber ich habe um
ehrlich zu sein keine große Lust, mir Deinen schlecht formatierten und
-wie bereits erwähnt- unvollständigen Sourcecode anzutun.

Mehrere funktionierende Beispiele für die Ansteuerung der seriellen
Schnittstelle findest Du im MSDN oder unter www.codeproject.com


Das hier

    testthread->Suspend();
    testthread->Terminate();
    testthread->~commlesen();

solltest Du Dir noch mal näher ansehen, vor allem die letzte Zeile.
Weißt Du, was Du da tust?

von Tobi (Gast)


Lesenswert?

Wird da wirklich bei jedem Lesen der Thread abgeschossen? Ouch..

Ansonsten hat Rufus recht, ohne kompletten Code bringt es nicht.
Ausserdem sieht deine Timeout-Steuerung mehr als konfus aus...

von Heinz (Gast)


Lesenswert?

Damit gehts recht ordentlich:
http://www.winapi.net/index.php?inhalt=t3

von Tobi (Gast)


Lesenswert?

@Heinz
Die von dir angegebenen Routinen arbeiten nicht overlapped, arbeiten
mit Timeouts und blockieren den aufrufenden Thread. Sie sind nicht mehr
ganz zeitgemäß

von Heinz (Gast)


Lesenswert?

@Tobi
Dafür aber recht simpel.
Ausserdem, kann man ja auch einen extra Thread starten...

von Tobi (Gast)


Lesenswert?

Ein Thread wird dafür nicht reichen. Zumindest nicht, wenn man
gleichzeitig senden und Empfangen möchte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.