Hallo, mich würde mal interessieren, durch welche äußeren Einflüsse sich ein Programm im Mikrocontroller aufhängen kann. Sprich: Ich lasse ein relativ simples Programm in einer Schleife laufen, bei dem ich mir sicher bin, dass kein Software Bug vorliegt. Wenn ich am nächsten Morgen alles überprüfe sehe ich das das Programm nicht mehr ordnungsgemäß läuft. Dh. es hat sich irgendwann nach ein paar Stunden aufgehängt, durch irgendwelche Effekte (Überspannungen? EM-Wellen?) die ich nicht verstehe. Mittlerweile habe ich das Problem mit einem Watchdog gelöst aber die theoretischen Hintergründe interessieren mich immernoch. Wie gesagt, ich bin mir zu 100% sicher das es NICHT an der Software selbst liegt. Gerne auch Literaturempfehlungen. Gruß Benjamin
Benjamin schrieb: > Wie gesagt, ich > bin mir zu 100% sicher das es NICHT an der Software selbst liegt. aber wenn der Watchdog noch reagiert, deutet vieles darauf hin das der µC noch etwas macht. Es muss also noch der Takt vorhanden sein, damit sollte er auch noch irgendwelche befehle abarbeiten (auch wenn es eventuell die falschen sind weil er befehle in datenbereich ausführen will). Und dann liegt doch wieder der vermutung nahe das es sich um ein Software fehler handelt.
Hmm.. mit einem Watchdog gelöst... das deutet doch eindeutig auf einen Softwarefehler hin. Dafür ist der Watchdog doch da.
Um die äußeren Einflüsse beurteilen zu können, wäre es hilfreich zu wissen, was denn außen alles dranhängt :) Zu allermindest eine Versorgung wird ja vermutlich gegeben sein. Dann wären natürlich noch die Umgebungsbedingungen interessant. Gruß, Alex
Zumeist ist die Spannungsversorgung schuld. Du könntest aber einfaxchmal das Reset Status Register auslesen und herausfinden ob irgendetwas einen Reset getriggert hat (haben die meisten uCs). Spannungsversorgung tauschen bzw. Akku verwenden, wenn Fehler immer noch da soviel wie möglich abschirmen. Reset Pin Beschaltung überprüfen usw. Schaltplan posten.
- Anlegen von Reset - Falsche Versorgungsspannung (auch Transienten) - EM-Feld - Wechsel-E-Feld - B-Feld - Ionisierende Strahlung - Mechanische Beschädigung (z.b. durch Vibration) - Thermische Beschädigung - Normale Alterung (nach vielen zig Jahren) - Produktionsfehler - Maskenfehler Die Liste ist bestimmt noch unvollständig. Grüße, Peter
Ev. auch Spannung unstabil od. nicht geglättet, fehlender Resetwiderstand, fehlender Kondensator, offene unbenützte Ein/Ausgänge mfg
Vielen Dank das hilft mir schonmal sehr, vor allem der Tip mit dem Reset-Status-Register. Der Mikrocontroller hängt auf einem Experimentierborad welches ich nach einem Bausatz aus einem Lehrbuch aufgebaut habe, von daher sollte die Spannungsversorgung OK sein. Für meinen Fall, dass ich mit dem Mikrocontroller das Pulsen von LEDs realisiere, welche mit Stromstärken betrieben werden für die sie (ungepulst) nicht ausgelegt wären, reicht der Timeout des Watchdogs aber eigentlich aus. Damit verhindere ich sozusagen dass da was durchbrennt, falls der Controller mitten im Programm stehenbleibt. Trotzdem wollte ich in einem Anflug von Perfektionismus dem Problem auf den Grund gehen ;)
Benjamin schrieb: > Der Mikrocontroller hängt auf einem Experimentierborad welches ich nach > einem Bausatz aus einem Lehrbuch aufgebaut habe, von daher sollte die > Spannungsversorgung OK sein. sehr mutige annahme. Hier gibt es aber ein beispiel von einen Demo-Board wo fehler bei den Tastern vorhanden sind, bei jedem Tastendruck kann es passieren das der µC sich resetet. Keine Ahnung welches Board es war.
Wie oft ich mir schon 200%ig sicher war, dass es nicht die Software ist, kann ich gar nicht mehr zählen :-) Ansonsten: Spannungsversorgung, die beim Ein-/Ausschalten der LED was Böses anstellt. Gruss Axel
Axel Laufenberg schrieb: > Ansonsten: Spannungsversorgung, die beim Ein-/Ausschalten der LED was > Böses anstellt. Jou...z.B. Überlastung der Spannungsversorgung nach Zeit X (thermisch oder durch Strombegrenzung).
99,99% der Fehler, die mit absoluter Bestimmtheit definitiv nicht und auf gar keinen Fall an der Software liegen können, liegen doch an der Software. 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.