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