Re: automatischer Reset Kategorie: Programmierung C (von Jo - 29.12.2012 22:14) | |
Als Antwort auf Re: automatischer Reset von Torsten - 29.12.2012 19:32
| |
> > > > > > 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 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 | |
Antwort schreiben Antworten: 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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum