Hallo Leute, Prozessor: STM32F105RC Folgendes Problem: Ich benötige in meinem Programm einen sekunden Task (verwende kein OS). Da ich die RTC bereits verwende habe ich mir gedacht, dass ich den Interrupt des RTC verwenden kann und rufe hier meinen Sekunden Task auf. Funktioniert eigentlich ganz gut. NUR hängt sich meine Steuerung auf und zwar nach ca. 12 - 48h. Meine Frage ist es möglich, dass man im RTC interrupt keine funktionen aufrufen darf die mit der RTC nichts zu tun hat. Mittlerweile rufe ich diese funktion über den Systick timer auf und mache ich einen langzeittest der vielversprechend aussieht. Worum geht es mir. Die Steuerung soll zuverlässig über Monate laufen, und daher wollte ich fragen ob man zumindest sagen kann, dass das ein Fehler war, oder ob dass jetzt nur Zufall ist, dass die Steuerung bereits länger (24h) ohne Probleme läuft. Vielen Dank im Voraus!!
Suche mal hier im Forum nach solcherart Fehlern. Es sind eine ganze Reihe von Ursachen möglich, die von Designfehlern in der Elektronik bis zu solchen in der Software reichen. Die beiden häufigsten sind Probleme mit der Stromversorgung, insbesondere falls Lasten mit hohen Strömen bzw. starken Stromänderungen beteiligt sind, sowie Designfehler in der Software z.B. Stack- oder Pufferüberläufe oder Übersehen von Seiteneffekten. Mehr lässt sich auf diesem allgemeinen Level beim besten Willen nicht sagen. Die einzige wirklich professionelle Herangehensweise ist eine Analyse und Diagnose des Problems. Workarounds wie Du sie verwendest, gehen i.A. allenfalls zufällig. Es wäre extrem ungewöhnlich wenn man bzgl. der Funktionen in Interrupts auf solche eingeschränkt wäre, die direkt mit der Hardware-Einheit zu tun haben, die den Interrupt ausgelöst haben. Anfänger machen allerdings oft den Fehler recht lange Funktionen in Interrupts aufzurufen und ein eigentlich notwendiges ereignisorientiertes Design zu vernachlässigen. Das z.B. wäre einer der Designfehler. Du hast also zwei Möglichkeiten: Genau zu diagnostizieren, in welcher Weise im Detail, das System sich "aufhängt". Als z.B. Debug-Ausgaben. Und uns hier so viele Informationen über Dich selbst, das Design und die Hardware und Software zu geben, wie möglich, in der Hoffnung das hier jemanden etwas auffällt.
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.