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?
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?
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...
@Heinz Die von dir angegebenen Routinen arbeiten nicht overlapped, arbeiten mit Timeouts und blockieren den aufrufenden Thread. Sie sind nicht mehr ganz zeitgemäß
@Tobi Dafür aber recht simpel. Ausserdem, kann man ja auch einen extra Thread starten...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.