Hallo Forum, habe einige Projekte eines Kollegen übernehmen müssen da dieser einen schweren Unfall hatte und nicht so schnell wider arbeiten wird. Unteradern eine Steuerung für eine Heizung. Bei dieser Steuerung ist aber noch richtig der Wurm drin. Das heißt die Hardware ist auf dem ersten Blick OK, aber die Software schmiert dauernd ab. Bei erster Durchsicht des Codes habe ich bemerkt das kein Watchdog aktiviert ist und dies auch sofort nachgeholt. Leider hat das nicht denn Effekt gebracht den ich erwartet hatte. Den das Programm bleibt trotzdem irgendwo hängen. Ich weiß zwar das der WD nicht die Lösung ist aber ich muss Zeitgewinnen. Sobald ich etwas Luft zum Atmen habe werde ich das Programm komplett überarbeiten. In dieser Steuerung ist ein Atmega 644 verbaut. Wie kann es angehen das kein Reset stattfindend wenn der WD nur einmal ganz am Anfang der Hauptprogrammschleife gelöscht wird ? Danke für Eure Hilfe Nachfolger
:
Verschoben durch Moderator
Nachfolger schrieb: > Wie kann es angehen das kein Reset stattfindend Meine Kristallkugel meint, dass du den Watchdog falsch aktiviert hast. Du kannst ja die harte Tour probieren und die WDTON-Fuse setzen. ;-)
Hi >Bei erster Durchsicht des Codes habe ich bemerkt das kein Watchdog >aktiviert ist und dies auch sofort nachgeholt. Wozu? Bring die Software zum störungsfreien Arbeiten. Dann kannst du den Watchdog einschalten. MfG Spess
Der Watchdog ist ja ein Timer. Vielleicht reloadest Du den Counter zu schnell, so daß es gar nicht erst zum Auslösen des Resets kommt. Allerdings finde ich auch, dass dieser Patch "Quick and Dirty" ist. Viele Grüße
Mein Problem ist die Zeit! Ich möchte mir mit dieser Aktion einfach ein wenig Luft verschaffen! Und wie schon in meinem ersten Post ich lösche den Wd nur am Anfang der Hauptschleife ! Danke und schönes We
> Und wie schon in meinem ersten Post ich lösche den Wd nur am Anfang der > Hauptschleife ! Vielleicht wird die Hauptschleife ja beim "Absturz" weiterhin dauernd durchlaufen, nur der Rest funktioniert nicht mehr richtig? Oder Dein Vorgänger hat den Watchdog doch noch wo anders auch resettet. Oder aber Du hast irgenwelche elektrischen Probleme (Brownout, Elektromagnetische Wellen, ESD,...) die den Controller so zum Absturz bringen, daß auch der Watchdog nicht mehr geht. Schau Dir mal die Beschaltung des Reset und des Quarz ganz genau an, nicht nur im Schema, sondern auch im Layout und auf dem konkreten Board (Durchgangsprüfer durch die Bauteile und Leiterbahnen). Das sind beliebte Fehlerstellen. Es reicht schon eine kalte Lötstelle am Reset-Pullup und schon hast Du alle von Dir beschriebenen Symptome... Wenn das nix hilft dann systematisch debuggen.
Ich würde ebenfalls dringend dazu raten, lieber den Fehler in der Software zu suchen anstatt irgendwelche dreckigen Workarounds zu probieren. Gerade bei einer Heizungssteuerung möchte ich als Kunde keine Bananenware haben, denn wenn mir die Rohre erstmal kaputtgefroren sind und die Anwälte gefühlte fünfzig Bäume Papier vollgeschrieben haben wer nun für den Schaden aufkommt wäre ich von dieser Firma bis in alle Ewigkeit geheilt!
Ben _ schrieb: > Ich würde ebenfalls dringend dazu raten, lieber den Fehler in der > Software zu suchen anstatt irgendwelche dreckigen Workarounds zu > probieren. Richtig. Der Watchdog ist eben eine Lösung, nur für den Ausfall, nicht den Regelfall.
Gerd E. schrieb: > Oder aber Du hast irgenwelche elektrischen Probleme (Brownout, > Elektromagnetische Wellen, ESD,...) die den Controller so zum Absturz > bringen, daß auch der Watchdog nicht mehr geht. Oftmals sind nur die Fuses falsch gesetzt. BOD muß an sein! Und natürlich die längste Reset-Zeit! Und bei Quarz als CPU-Takt immer den Full-Swing Mode! Wenn schon im Datenblatt steht, daß der Low-Power Mode störempfindlich ist, dann sollte man das auch ernst nehmen. Der läuft wirklich nur bei super glatter VCC zufriedenstellend (Ripple <1mV). Peter
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.