Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > > > > 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 > > > > <a href="http://ccpro.cc2net.de/forum/index.php?show=6019" target="_blank">WatchDog-Link im > > > > Forum"</a> > > > > > > > > > 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. > > > > <b>@Peter, wie siehst du das?</b> > > Hallo Jo, > > nur die Register R0, R1, R22, R23, R24, R25, R26, R27, R30 und R31 müssen > nicht gesichert werden. Alle anderen bitte per push/pop sichern. Es kann > sein, das es momentan unkritisch ist R16 nicht vorher zu speichern, aber > beim nächsten Update des Interpreters kann sich das unbemerkt verändern. > Dann wären die Assemblerroutinen nicht mehr kompatibel. > > Auch einen guten Rutsch an alle im Forum. > > Gruss Peter > > > > > Guten Ruscht und viele Grüße > > > > Jo