Forum: Mikrocontroller und Digitale Elektronik Timer 1 hat verspätung


von Henning (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich hoffe mir kann jemand helfen.
ich habe ein kleines Testprogramm geschrieben um mein Problem zu
beheben.
Darin wird nacheinander T0 und T1 gestartet (mit den selben werten). In
einer Dauerschleife wird überprüft ob 2 Zählregister einen bestimmten
wert erreicht haben (2dezimal), und wenn ja dann werden sie
zurückgesetzt und jeweils ein Pin invertiert (an bzw wieder
ausgeschaltet). Die Zählregister werden immer wenn der jeweilige Timer
überläuft um einen zählerwert erhöht. funktioniert mittlerweile prima,
ich erhalte an beiden Pin´s ein Rechtecksignal mit einer frequenz von
12ms periodendauer. alles prima.

Aber: (so und jetz kommt´s)
für mich unerklärlicher weise dauert es nach dem einschalten bei T1
eine Sekunde, bis das Signal anliegt. das Rechteck von T0 ist sofort
da, aber T1 nimmt sich zeit. Ich hab schon (fast) alles
herausgeschmissen, was überflüssig ist, und glaube die beiden Timer
fast exakt gleich zu behandeln.

Hab´s mit avrstudio geschrieben. vieleicht hat jemand nen tipp.
Vielen dank im voraus schonmal!
grüße henning

von crazy horse (Gast)


Lesenswert?

"consequently, the high byte TCNT1H must be accessed first for a full
16-bit register write operation"

von Henning (Gast)


Lesenswert?

hay danke, genau das war´s.

von Henning (Gast)


Lesenswert?

muss man überall, wo ein doppelregister verwendet wird beim setzen mit
dem höheren anfangen?
zB auch beim EEprom Zielregister?

und noch was: meine annahme, das die Register bei einem Watchdog-Reset
nicht zurückgesetzt werden, sondern ihre werte beibehalten ist
richtig?

danke schonmal & grüße henning

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.