Forum: Mikrocontroller und Digitale Elektronik reset und timer Verhalten


von H. R. (hacker_r)


Lesenswert?

Hi
eine Anfänger Frage bzgl. Verhalten von Timern wenn man den reset Pin 
zieht:

a. fangen die Timer bei allen Prozessoren bei Null wieder los?
b. Wenn der Reset auf High gehalten wird, laufen da die Timer weiter?

Oder wird das bei jedem Prozessor anders gemacht?
Danke

von Peter D. (peda)


Lesenswert?

H. R. schrieb:
> eine Anfänger Frage bzgl. Verhalten von Timern wenn man den reset Pin
> zieht:

Sie verhalten sich exakt so, wie es im Datenblatt steht. In der Regel 
werden alle IO-Register mit ihrem Resetwert geladen, nicht nur die 
Timer.
Ausnahme kann z.B. der RTC-Timer sein, aber auch das steht dann im 
Datenblatt oder User-Manual. Das ist ganz sinnvoll, damit die RTC bei 
einem Reset weiter läuft.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Beim AVR spielt der WDT eine Extrarolle.
Aber auch dessen Verhalten ist im Datenblatt beschrieben.

von Stefan F. (Gast)


Lesenswert?

Der "Anfänger" Teil an deiner Frage ist, dass du keinen konkreten 
Mikrocontroller genannt hast. Deine Annahme, dass viele oder gar alle 
sich an irgend einem Punkt gleich verhalten, ist schon ein schlechter 
Anfang.

Schau immer ins Datenblatt. Du kannst dich nicht einmal darauf 
verlassen, dass sich alle Modelle einer Serie gleich verhalten. In 
vielerlei Hinsicht ist das zwar so, aber fallen tut man über die feinen 
Unterschiede, wenn man zu faul war, nachzulesen.

von Jacko (Gast)


Lesenswert?

Anfängerfragen sind berechtigt:

> a. fangen die Timer bei allen Prozessoren bei Null wieder los?

Antwort:
Die meisten Timer der meisten Prozessoren bekommen während und
nach einem RESET keinen Zähltakt und sind auf Null gestellt.
IRGENDWANN in der Start-Routine (einige 10...1000++ µs nach
Neustart) wird der Zähler vom Programm erst konfiguriert und in
eine Anfangsstellung gebracht.

Somit kannst du üblicherweise NICHT von einem definierten Beginn
bei Null, gleich nach dem Ende des RESET ausgehen.

> b. Wenn der Reset auf High gehalten wird, laufen da die Timer weiter?

Antwort:
RESET = High ist bei allen mir bekannten Prozessoren, der Arbeits-
Zustand. Da laufen die Zähler so, wie sie eingestellt sind.
Was auch heißen kann, dass sie NICHT laufen...

Hält man RESET auf Low, läuft bei den meisten Prozessoren NICHTS
mehr.

von Norbert S. (norberts)


Lesenswert?

Jacko schrieb:
> IRGENDWANN in der Start-Routine (einige 10...1000++ µs nach
> Neustart) wird der Zähler vom Programm erst konfiguriert und in
> eine Anfangsstellung gebracht.
>
> Somit kannst du üblicherweise NICHT von einem definierten Beginn
> bei Null, gleich nach dem Ende des RESET ausgehen.

Nee, das widerspricht sich.
Der Timer wird vom Programm konfiguriert und gestartet. Somit ist es 
nicht irgendwann sondern definiert.
Wenn Du irgendein HAL oder so nutzt und nicht weisst, was der Kram 
macht, dann ist das Dein Problem.

Gruß,
Norbert

von guest (Gast)


Lesenswert?

Jacko schrieb:
> RESET = High ist bei allen mir bekannten Prozessoren, der Arbeits-
> Zustand.

Dann hast Du fast die komplette 8051 Familie verpasst.

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.