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 - 29.12.2012 19:32)
Als Antwort auf Re: automatischer Reset von Jo - 29.12.2012 10:38
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
> > >
> > > Hallo mave,
> > > Ich verwende dazu den Watch-Dog-Timer,
> > > die SW muss diesen zyklisch triggern, bleibt der Aufruf aus, gibt es einen Reset.
> > > Wenn du Bedarf hast, kann ich dir die Routine (assembler und C-Funktion) einstellen.
> > > Oder suche im Forum nach WatchDog. Daraus habe ich auch die Funktionen geladen.
> > > Viele Grü�e
> > > Jo
> >
> > Hallo Jo
> > Mit dem habe ich mich noch nicht beschäftigt ... und der funktioniert auch wenn der microcontroller
> > sich aufgehängt hat?
> > Das wäre echt super wenn du mir die c-programmierung zur verfügung stellen könntest.
> >
> > ad Torsten programm arbeitet nicht mit konstanter zykluszeit
> > lg
>
> Ja, das ist der Sinn des WatchDog, reset wenn sich der Controller / SW aufgehängt hat.
> Lösung siehe thread
> WatchDog-Link im
> Forum"



 Hallo Jo,

hab mir gerade mal Dein WatchDog angeschaut.
Folgendes ist mir aufgefallen:

>WatchDog_On:                        ; Enable Watchdog Timer
>    movw    r26, r6                 ; r7:r6 points to ret_addr
Sollte die Parameterübergabe nicht über R10:R11 laufen?


>    adiw    r26, 4                  ; X now points to prescalar
>    ld      r16, x                  ; get prescalar parameter
>    andi    r16, WDPM               ; and mask lower 3 bits
>    ori     r16, (1<     ldi     r17, (1<     out     WDTCR, r17      
>    out     WDTCR, r16              ; write WDT control register
>    ret

R16 ist kein Register welches ohne Sicherung verwendet werden darf!
Laut Doku. von Peter. Da die Zykluszeitüberwachung eine durchaus
wichtige Sache ist sollten wir vieleicht eine C-Controlische
Variate entwickeln. Was meinst Du dazu?

Gesundes Neues
Torsten


    Antwort schreiben


Antworten:

Re: automatischer Reset (von Jo - 29.12.2012 22:14)
    Re: automatischer Reset (von PeterS - 31.12.2012 12:57)
    Re: automatischer Reset (von Torsten - 31.12.2012 12:09)
        Re: automatischer Reset (von PeterS - 31.12.2012 13:00)
            Re: automatischer Reset (von kanne - 24.09.2013 18:41)
                Re: automatischer Reset (von Torsten - 25.09.2013 20:16)
                    Re: automatischer Reset (von kanne - 26.09.2013 0:06)
                       Re: automatischer Reset (von Torsten - 30.09.2013 21:11)