ATMEGA8:Reset nach mehr als 2sek. mit wdt_enable() ?

OP #1211086
Lesenswert?
• ▲
▼
Hallo,
ich benötige etwas Hilfe. In einer Motorsteuerung verwende ich 
wdt_enable(7) um nach 2 sek. in einem Loop (Nachführung) einen Reset 
auszuführen (Sicherheitsabschaltung). Diese Zeit würde ich gerne auf 
etwa 4 sek. erhöhen. Wer kann helfen ?
Gruß, Rene
#1211124
Lesenswert?
• ▲
▼
Der Watchdog unterstützt nur Zeiten bis ~2s (> Datenblatt). Aber der 
Watchdog ist doch dazu gedacht, den AVR neuzustarten wenn das Programm 
nichts sinnvolles (mehr) macht. Wenn du doch schon in einer Schleife 
bist, kannst du doch:
- messen wie lange die schleife läuft, z.B. mit einem Timer, der ja 
wahrscheinlich sowieso läuft)
- zählen wieviel Durchläufe die Schleife macht (und nach xx Mio. 
abbrechen)
- um bei deiner ursprünglichen Idee zu bleiben (da ich gar keine Ahnung 
habe, wie dein Programm aussieht ;) ), einen Timer(+Interrupt +großen 
Vorteiler) für das (den, die?) Timeout hernehmen

hth, Jörg
Gast #1211917
Lesenswert?
• ▲
▼
Du könntest auf den Pin-Kompatiblen und weitestgehend 
funktionskompatiblen moderneren ATmega88 wechseln. Der kostet ähnlich 
viel wie der Atmega8 und kann auch 4s und 8s Watchdog-Timeouts. Außerdem 
kann er noch Watchdog-Interrupts, mit denen sich eventuell eleganter die 
Sicherheitsabschaltung realisieren ließe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren