Timer0 und Timer2 verschiedene Werte.

OP #1686690
Lesenswert?
• ▲
▼
Hallo zusammen.
Beiliegenden Code habe ich für Übungszwecke zusammengestellt.
Ich will 2 fast identische Zeiten im Bereich von 20 msec. erfassen und 
später auswerten. Nicht die genaue Zeit, sondern nur die Zählerwerte von 
Timer0 und Timer2. Leider macht dies der Code nicht so richtig.
Ablauf soll so sein:
INT0 wird von main freigegeben, INT1 gesperrt. Abfallende Flanke an INT0 
startet den Zähler, die nächste abfallende Flanke stoppt den Zähler 
(true0) und sperrt INT0 und gibt INT1 frei und so abwechselnd.
Lasse ich jede ISR für sich alleine, die andere grundsätzlich gesperrt, 
so entsprechen die gemessenem Werte den errechneten.
Messe/zähle ich wie oben genannt abwechselnd, so stimmt der Wert von 
Timer2. Der Wert von Timer0 jedoch beginnt  vom Maximum (ca. 3500) bis 0 
usw.
Die Werte lese ich über die ser. Schnittstelle am PC aus.
Wo könnte der Fehler liegen?
Gruss Ewald
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.