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
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
Hallo, > Aber der Watchdog ist doch dazu gedacht... Wenn man den Watchdog für seine Zwecke nutzen kann, warum nicht? Jede im AVR verbaute, bezahlte und nicht genutzte Ressource ist totes Kapital. MfG
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.
Hallo, ich hab mir das Datenblatt des ATEMGA88 angeschaut. Das sollte der einachste Weg sein. Danke ! Gruß, Rene
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.