Forum: Mikrocontroller und Digitale Elektronik 8051: Muss der Timer vor dem Nachladen gestoppt werden?


von Hammoud (Gast)


Lesenswert?

Hi,

Ich benutze den MC C515C-L von Infineon und würde gern folgendes
wissen:
Ich benutze Timer 0 als Intervall-Timer. In der ISR wird lediglich die
Systemuhr aktuallisiert und der Timer nachgeladen. Muss der Timer vor
dem Nachladen angehalten werden, oder kann das Laden ohne weiteres
durchgeführt werden.


Danke!!


Gruss
Hammoud

von Berti (Gast)


Lesenswert?

kannst du gleich so nachladen...

von Peter Dannegger (Gast)


Lesenswert?

Wenn es genau sein soll (Uhrzeit), dann mußt Du den Timer anhalten und
den Reloadwert addieren, damit die unterschiedliche
Interrupteinsprungszeit berücksichtigt wird.

Hier ein Beispiel:

http://home.tiscali.de/peterd/appl/soft/clock/index.htm

Ohne Anhalten kann es zum Überlauf während des Addierens kommen.


Peter

von Peter Dannegger (Gast)


Lesenswert?

P.S.:
Ich meinte Überlauf vom Low- zum High-Byte.

Für den Fall, daß man sich sicher ist, daß nicht mehr als 256 Zyklen
bis zum Interrupteinsprung (keine anderen Interrupts benutzt) vergangen
sind und kein genaues Reload benötigt wird, kann man es aber auch ohne
Anhalten machen. Die Codeersparnis dürfte aber kaum der Rede wert
sein.


Peter

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
Noch kein Account? Hier anmelden.