Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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
Ich nutze:
C-Control Pro Mega128
> > > > > > > > > > > > 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: