Re: automatischer Reset Kategorie: Programmierung C (von Torsten - 30.09.2013 21:11) | ||
Als Antwort auf Re: automatischer Reset von kanne - 26.09.2013 0:06 | ||
| ||
> > > > > > > > > > > > Hallo allerseits > > > > > > > > > > > > > > > > > > > > > > > > Ich benutze den Mega128 schon seit Jahren zur �berwachung des ganzen HAuses. > > > > > > > > > > > > Nun habe ich das Phänomen das der Microcontroller sich immer nach ca 3 Tagen aufhängt. > > > > > > > > > > > > > > > > > > > > > > > > Keine Ahnung warum... > > > > > > > > > > > > Fällt euch eine Möglichkeit ein wie ihch laufend überprüfe ob der Microcontroller noch läuft und > > > > > > > > > > > > sofern er sich aufgehängt dieser resetiert wird? > > > > > > > > > > > > Wäre für jede Idee sehr dankbar > > > > > > > > > > > > lg > > > > > > > > > > > > mave > > > > > > > > > > > > > > > > > > > > > > Hallo mave, > > > > > > > > > > > > > > > > > > > > > > arbeitet Dein Programm mit konstanter Zykluszeit? > > > > > > > > > > > > > > > > > > > > > > Guten Rutsch > > > > > > > > > > > Torsten > > > > > > > > > > > > > > > > > > > > > > > > ad Torsten programm arbeitet nicht mit konstanter zykluszeit > > > > > > > > > > > Hallo Torsten, > > > > > > ich habe das Beispiel aus den Forum und damals nur etwas "formatiert" und dem Forum wieder zur > > > > > > Verfügung gestellt. Ich selber habe mich bisher noch überhaupt nicht mit dem ATMEL Asselmler > > > > > > beschäftigt. > > > > > > Diese Routine läuft seit einigen Jahren in drei C-Controls Pro für eine Rolladen- > > > > > > steuerung und ist stabil im 24/7 Einsatz. Die SW ist aufgrund der Steuerbarkeit und Konfigurierbarkeit > > > > > > über RS232, Tastatur, IO relativ komplex und hat bei den Segmentgrenzen auch schon den einen > > > > > > oder anderen Bug im Intereter offen gelegt. > > > > > > Wenn es aber so ist wie du sagst, sollte natürlich R16 ge- > > > > > > rettet und zurückgeschrieben werden. > > > > > > > > > > > > @Peter, wie siehst du das? > > > > > > > > > > > > Guten Ruscht und viele Grü�e > > > > > > > > > > > > Jo > > > > > > > > > > Hallo Jo, > > > > > > > > > > bedenke bitte eins: > > > > > Was in Deinen Programm prima funktioniert, > > > > > kann in einen anderen Programm katastrophale > > > > > Folgen haben. Also den Bug können wir einfach > > > > > nicht mit in's neue Jahr nehmen. > > > > > > > > > > Hallo mave, > > > > > > > > > > wenn Du den Watch-Dog-Timer verwenden willst > > > > > und das Progamm aber keine konstante Zyklus- > > > > > zeit aufweist mu� der Timer an mehreren Stellen > > > > > zurückgesetzt werden. Die Ausführungszeit der > > > > > einzelnen Funktionen mu� dann vorher festgestellt > > > > > werden. Dazu kannst Du "Timer_TickCount()" > > > > > verwenden. Eine kleine Funktionsbibliothek > > > > > welche dies zeigt habe ich mal mit hoch- > > > > > geladen. > > > > > > > > > > "WatchDog-0.01.zip" > > > > > > > > > > So jetzt mu� ich aber noch schnell alle meine Blitzknaller > > > > > ausprobieren damit ich mich heute Abend nicht blamiere. > > > > > Den Sekt koste ich auch lieber vorher schon mal. > > > > > Ups . . . . . . der Korken hat mir fast die C-Control zerschossen. > > > > > Mmmm . . . . . . scheint guter Jahrgang zu sein. > > > > > > > > > > Prost NJ > > > > > Torsten > > > > > > > > Cool, ich freue mich immer, wenn jemand den Assembler nutzt um allen > > > > mehr Features zu geben. Wenn ich Zeit habe, werde ich mal schauen, ob > > > > ich herausfinde warum eine Funktion nicht mit dem Mega32 läuft. > > > > > > > > Einen guten Rutsch ins neue Jahr! > > > > > > > > Gruss Peter > > > > > > Hallo Thorsten, > > > ich bin gerade dabei deinen WatchDog einzubauen aber mir fehlt noch der > > > entscheidende Hinweis. > > > > > > Mir ist nur nicht die genaue Funktion von WatchDogInit und WatchDogSetTime klar. > > > Was machen diese beiden Funktionen konkret? Kann es sein, dass WatchDogSetTime > > > nur für das Demoprogramm notwendig ist? > > > > > > Danke, Gruss kanne > > > > > > > > > > Hallo Kanne, > > > > Beide Funktionen stellen die �berwachungszeit für den > > Watchdog ein. "WatchDogInit" sollte vor Eintritt in die Hauptschleife > > aufgerufen werden. "WatchDogSetTime" ist dafür gedacht > > so zu sagen während der Fahrt für einzelne Programmabschnitte > > die �berwachungszeit zu ändern. In der Datei "WatchDog.cc" > > sind die Konstanden für die Zeiten definiert. Wenn du > > eine Idee zur Verbesserung hast können wir das sicher > > noch optimieren. > > > > Gru� Torsten > > > > Hallo Thorsten, > > ist schon ok, mir wars nur nicht ganz klar. > Da ich den Reset in eine ISR gepackt habe brauche ich "WatchDogSetTime" nicht. > > Gruss kanne Hallo Leute, hab mal die WatchDogTimer-Funktionen überarbeitet. Siehe unten "WatchDog-0.02.zip" Zwei Fragen bleiben allerdings noch offen. 1. Warum werden beim Mega32 im MCUCSR keine Flags beim Neustart gesetzt? 2. Warum ist beim Mega128 bei angeschlossener IDE das WatchDogReset-Flag bei jedem Neustart mit gesetzt? Vielleicht hat jemand Lust es mal zu testen und findet eine Erklärung. Gru� Torsten. WatchDog-0.02.zip | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum