folgende Anwendung habe ich: - Messungen von unterschiedlichen Parameter (Strom, Spannung, ....) mithilfe einen PIC Mikrocontroller. - SW ist so aufgebaut: Firmware + Visuall Studio 2008 - Kommunikationsart zwichen Firmaware und Visual Studio ist USB Schnittstelle (HID class.dll) - Progrmmiersprache ist C++ --> Die Kommunikation mit der Firmware funktionniert fast immer gut . Die SW landet in der oben genannten Zustand sehr selten. Ich kann das Problem nicht nachvollziehen warum oder wie ? Ich habe folgende Versucht: Die SW (in debug Modus) schritt für schritt (F10) zu debuggen und zu gucken was für Werte bekomme ich. Es scheint alles Okay zu sein und die SW landet nicht mehr in fehlerhaften Zustand aber wenn ich direkt danach die SW normal starte (nicht in debug Modus) Das Problem tritt wieder neue und ich muss das ganze neue anfangen (in debug Modus--> Problem tritt nicht mehr aber wieder direkt danach Problem ist wieder da). Um das Problem zu lösen muss ich die SW beenden und wieder starten dann ist wieder alles gut. Ich weiss dass ihr von der ferne mir gar nicht sagen können aber ich wollte fragen, ob ihr solche Fälle auch erlebt habt? Danke in voraus
Daß unterschiedliches Zeitverhalten bei einer Kommunikation (und generell in einem Programm) auch ein unterschiedliches Fehlerbild hervorrufen kann, ist nichts ungewöhnliches.
Kommunikation ist normalerweise Zustandsbasiert. (schreibst du ja auch in der Überschrift). Du hast also 2 Zustandsautomaten, einer auf der Client und einer auf der Serverseite. Um den Fehler zu finden musst du herausfinden in welchem (falschen) Zustand sich Client und Server befinden wenn "nichts mehr geht" Um das herauszufinden hat sich tracen als gute Möglichkeit erwiesen. Also das Mitschreiben in eine Datei was wann passiert, zumindest auf dem PC. Auf dem µC kann man evt. eine SD Karte zum tracen benutzen oder in einem primitiven Fall mehrere Ports, die man auf Ausgang schaltet und je nach Zustand eine eindeutige ID rausschreibt. Viel Erfolg
:
Bearbeitet durch User
Said schrieb: > --> Die Kommunikation mit der Firmware funktionniert fast immer gut . Entweder "fast" oder "gut", beides geht nicht. Said schrieb: > Um das Problem zu lösen muss ich die SW beenden und wieder starten dann > ist wieder alles gut. Welche? Auf dem MC oder dem PC?
Peter Dannegger schrieb: > Welche? Auf dem PC > Auf dem MC oder dem PC? Ich habe folgende Tolls "http://www.usblyzer.com/" zu Hilfe genommen. Zwei Sachen sind mir aufgefallen: 1) In Normalen Durchlauf (ohne Fehler) Nach jede Kommando folgt eine Antwort 2) Problem ist aufgetreten: Kommando werden mehrmals geschickt und die Antwort von jede Kommando folgt erst später ...
Said schrieb: > Zwei Sachen sind mir aufgefallen: > 1) In Normalen Durchlauf (ohne Fehler) > Nach jede Kommando folgt eine Antwort > 2) Problem ist aufgetreten: > Kommando werden mehrmals geschickt und die Antwort von jede Kommando > folgt erst später ... Der Detailgrad meiner Antwort entspricht Deiner Problembeschreibung: 1) Der zweite Fall ist typisch für einen Fehler. Gruß Klaus
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.