ohhhh :(
bei rennt es :D und bei dir ?! ^^
ohhhh :(
bei rennt es :D und bei dir ?! ^^
@Buebchen.
die badConverion Exception die beim decoden geworfen wird tritt doch dann auf, wenn er auf, wenn er zeichen findet die (<0&&>9)||(F)||(f)
Nur das das doch rein Theoretisch gar nicht passieren, wenn ich daten von dir bekomme (monitord)
Ich versteh nicht warum er dort ständig rein brät.
Wird vielleicht wird der Doppelpunkt als Trennzeichen noch mitübergeben ? Sonst lass dir die Zeichenkette vorher mal ausgeben. Aber wie du schon schreibst. Die Exeception wird nur bei Zeichen geworfen die nicht [0..9], [a..f] oder [A..F] sind.
also die Exception kommt bei sowas hier:
Error: &TRN03195967E00847EB5 -EOL- æ2ÔTôÂÒ
Error musste dir davor wegdenken, das ist noch ausgabe vorher.
Error: 67 73 f0 7d -EOL- RRô´ÄRõ¤'&öæ2ââââÔTôÂÒ
sowas kommt da auch bei raus bzw rein.
Entweder bekomm ich das so vom daemon (was ich nicht glaube) oder ich hab irgendwo noch schrott in den vars stehen.
Aha. Der Fehler liegt im monitord. Der Text ist ja nicht verschlüsselt, sondern klartext. Seltsam. Habe ich bestimmt wieder mal beim Testen vergessen 'was zurückzustellen.
Die zweite Aussendung ist vom Fahrzeug aus. Die sollten eigentlich überhaupt nicht auftauchen.
Werde das heute abend mal prüfen ...
Die "Schrott am Ende" liegt vermutlich daran, daß die Zeichenkettenvariable nicht bei jedem Aufruf "genullt" wird.
ja hab ich mir eigendlich auch gedacht, aber da ich die laufzeit var (mein vector mit dem jeweiligen param) erst in der While erstelle kanns daran nicht liegen.
Und der Buffer wird am ende der while auf buffer[0] = '\0'; gesetzt.
Nimm lieber ein
-EDIT1-Code:memset(buffer,0,_BUFFERGROESSE_) ;
Ich habe den -EOF- jetzt entfernt und die Datentelegramme Fahrzeug->Leitstelle sollten nun auch angezeigt werden (Ohne Leerzeichen zwischen den Zahlen).
Frage dazu:
kann mal jemand prüfen, ob die Reihenfolge der Zeichen stimmt bei Telegrammen Fzg->Leitstelle.
Damit ich die Daten aus dem BOSTool korrekt empfangen kann mußte ich die Nibbles (4Bit Werde=Einzelne Ziffern) paarweise tauschen.
So wird 12345678 tatsächlich als 21436587 bei mir empfangen.
-EDIT2-
@Dove:
Wenn Du std::string nutzt kannst du auch die .Empty Methode nutzen.
Geändert von Buebchen (02.07.2007 um 21:11 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)