www.mikrocontroller.net

Forum: PC-Programmierung Com Port c++


Autor: Gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier die komplette ansteuerung :)

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Heinz (Gast)
Datum:

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

Autor: Tobi (Gast)
Datum:

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

Autor: Heinz (Gast)
Datum:

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

Autor: Tobi (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.