Ich hab's nicht mehr genau im Kopf, aber ich würde es an deiner Stelle einfach mal ausprobieren. Zur Not auch im Simulator.
Wenn ich mich aber recht erinnere funktioniert das so, wie du oben schreibst..
Gruß,
jon
Ich hab's nicht mehr genau im Kopf, aber ich würde es an deiner Stelle einfach mal ausprobieren. Zur Not auch im Simulator.
Wenn ich mich aber recht erinnere funktioniert das so, wie du oben schreibst..
Gruß,
jon
Wieso deaktivierst du den Timer nicht einfach für den Normalfall
Den Timer musst du nicht deaktivieren wenn du einen neuen Wert laden willst.
Würde es dir nicht reichen wenn du den Timer erst aktivierst wenn du ihn brauchst und solange lässt du ihn deaktiviert?
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Nein, denn das soll so eine Art Watchdogtimer bzw. Zykluszeitüberwachung eines bestimmten Vorgangs werden.
Wird aus irgendeinem Grund die entsprechende Routine nicht regelmäßig innerhalb dieser Zeitspanne angesprungen, soll über das Timerinterrupt weiter gemacht werden. Zwecks Fehlerdiagnose usw.
Also der Timer muss im Hintergrund immer mitlaufen. Er darf nur im Normalfall nie überlaufen.
Ja das sollte dann so funktionieren.
Ein normaler Watchdog-Timer macht das ja genau so. Da wird auch mitten im Programm der Timer wieder auf 0 gestellt. Da sollte das bei dir im Programm kein Problem sein, wenn du den Timer z.B. am Ende des Programmes wieder auf 0 stellst.
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Hat es einen Grund warum du nicht den Watchdog verwendest? Den kannst du im Porgramm einstelle, Starten und Stoppen. Du kannst ihn so einstellen das er den µC resettet oder das ein Interrupt ausgelöst wird.
MfG Hannes
Das wäre natürlich eine Alternative. Aber wie kann ich den Watchdog zurücksetzen? Den muss ich immer wieder stoppen und starten?
Und wie geht das, dass er einen Interrput auslöst und nicht den Reset durchführt?
Geändert von demmy (01.03.2012 um 11:29 Uhr)
Du kannst eine Ablauffrist für den Watchdog setzen und ihn aktivieren und deaktivieren. Einen Interrupt kann er meines Wissens nicht auslösen.
Grüße,
Daniel
Lesezeichen