PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Watchdog vom ATmega8 reseten



cumi
25.10.2006, 19:48
Hallo Zusammen

Ich versuche gleich ein Treiber für den Watchdog vom ATmega 8 zu schreiben.
Im Datenblatt finde ich auch fast alles. Ich weiss wie ich ihn aktiviere, wie ich den Prescaler einstelle und wie ich ihn wieder deaktiviere.

Ich lese aus dem Datenblatt jedoch nirgens heraus, wie man den Timer Resetet. Also wieder auf 0 stellt um ein tyklisches Zuschlagen zu verhindern.

Ich programmiere mit C und kompilliere mit dem AVR-GCC. Aber eigentilch muss ich nur wissen, mit welchem Bit in welchem Register ich was machen muss.

Vielen Dank für eure Hilfe!

cumi

izaseba
25.10.2006, 20:01
Ich hoffe, daß Du das hier meinst


#define wdt_reset ( ) __asm__ __volatile__ ("wdr")


Reset the watchdog timer. When the watchdog timer is enabled, a call to this instruction is required before the timer expires, otherwise a watchdog-initiated device reset will occur.


Ein Auszug aus http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html

Gruß Sebastian

cumi
25.10.2006, 20:04
ah, vielen dank für die prompte antwort.
Ich meinte ich müsse irgend ein Register beschreiben um den reset auszulösen.

izaseba
25.10.2006, 20:08
Tja, manchmal denkt man halt etwas zu kompliziert...

Pascal
25.10.2006, 20:57
Ich meinte ich müsse irgend ein Register beschreiben um den reset auszulösen.

Das funktioniert nicht per Register beschreiben, sondern dafür gibts einen Assemblerbefehl("WDR").