mikrocontroller.net

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


Autor: Henning (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

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

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hay danke, genau das war´s.

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.