Com-Port Kommunikationsprobleme

Wolfsblut80

Grünschnabel
Hallo Forum-Gemeinde,

zunächst einmal vielen vielen Dank Eure ganzen Beiträge und die Antworten haben es mir als reiner C / C++ Anfänger ermöglicht bis hierher zu kommen. :) :) :)

Aber nun... Nun hänge ich... :confused: Und leider finde ich zu meinem Problem keinen adäquaten Threat oder eine all zu hilfreiche Antwort. Mein Kollege, der sich gestern das Problem schon mal angeschaut hat, kann sich darauf auch keinen Reim machen. Und zwar geht es um Folgendes:

Ich habe ein kleines Programm geschrieben mit welchem ich über die serielle Schnittstelle ein Gerät ansteuern kann (es liegt ein Code Protokoll des Gerätes vor). Die Kommunikation läuft in drei Schritten:
1. Ansprechen der Schnittstelle und vorbereiten auf Datenempfang.
2. Übertragen des Befehls, der ausgeführt werden soll.
3. Beenden der Kommunikation (Befehl wie in 1.)
Wenn ich nun das Programm ausführe, so läuft es jedes zweite Mal nur bis zur ersten WaitCommEvent Abfrage (rot und fett makiert im Text in der Anlage). Sprich: Ich führe das Programm aus, es läuft tadelos... ich führe es erneut aus, dann wird der erste Befehl (ENQ) gesendet und es bricht in der Schleife bei "WaitCommEvent" ab... ich führe es wieder aus, es läuft wieder tadelos.... usw.
Ich weiss nicht warum. Ich und auch mein Koellege können das nicht erklären. Bitte helft mir. Es ist schon recht wichtig, da es auch ein Teil meiner späteren Diplomarbeit wird.

(Das ist nur ein kleiner Teil eines später großen und langen Programms. Ich bin kein Programmierer, sondern Elektrotechniker und wurde mit "die Automation musst Du programmieren" überrannt. Ich versuche immer alles alleine zu lösen, da ich es später ja auch rechtfertigen und erklären muss. Aber damit komm ich echt nicht weiter.

Den Programmteil findet ihr im Anhang. Ich hoffe, dass ihr mir helfen könnt.

Vielen Dank schon mal vorab.

Viele Grüße

Wolfsblut
 

Anhänge

  • seriell.zip
    3,6 KB · Aufrufe: 40
Weitere Inforamtionen: Com-Port Kommunikationsprobleme

Hallo nochmal!

Ich wollte nur mal einen neuen Stand geben:
Ich habe mir nun über return codes mal eine Fehlermeldung ausgeben lassen (Hätte ich auch mal eher dran denken können ;) ) Und siehe da, es kommt was bei raus: "Das Handle ist ungültig". Leider kann ich damit ebenso wenig anfangen wie vorher. :( :( :(
Dass die Schließung des Ports misslingt wusste ich ja bereits... Aber warum is das Handle ungültig? Habe ich irgendwas vergessen, übersehen? Oder ist es einfacher als ich denke? :rolleyes:

Ich bitte euch weiterhin sehr um eure Unterstützung. Bastel jeden Tag Stunde um Stunde, finde aber das Prob nicht so ganz.

Vielen Dank und viele Grüße

Wolfsblut

P.S. Eine neuere und aktualisierte Version meiner Versuche ist im Anhang. :D
 

Anhänge

  • serial_neu.zip
    2,5 KB · Aufrufe: 49

Neue Beiträge

Zurück