16 Bit Timer (beide Kanäle) - Interrupt

Gast #624447
Hallo Zusammen,

mit Hilfe der 2 Kanäle des 16 Bit Timers des ATMEGA644 möchte ich in 
bestimmten Zeitintervallen Interrupts auslösen. Dazu habe ich in beide 
OCR Register A und B jeweils einen anderen Vergleichswert geladen.
Der Interrupt des jeweiligen Kanals wird jeweils über OCIE1A/B 
aktiviert. Interrupts sind global natürlich aktiv.
Nun zu dem Problem: Interrupt für Kanal A fünktioniert aber wenn ich für 
den Kanal A die Interrupts deaktiviere und Kanal B aktiviere wird zwar 
ein Interrupt ausgelöst aber für den Vergleichswert der in OCR1A steht.

Hat irgendjemand eine Idee wo mein Fehler liegt? Danke im Voraus.

MfG Christian
Wie stellst Du Dir das vor? Ich vermute mal, Du hast den Timer im 
CTC-Modus laufen. Dann wird er zurückgesetzt, wenn OCR1A erreicht ist. 
OCR1B wird dann nie erreicht. Auch wenn OCR1B kleiner ist als OCR1A, 
sind die Abstände zwischen den Interrupt-Ereignissen vermutlich nicht 
so, wie Du Dir das vorstellst, weil jeder Interrupt nur einmal pro 
Timerdurchlauf auftritt.
Gast
@Johannes

CTC Mode ist richtig. Also wenn ich jetzt noch mal im Datenblatt 
nachschaue und dich richtig verstanden habe wird der Timer stets bei 
erreichen von OCR1A zurückgesetzt. Dann ist es mir klar. Mein OCR1B Wert 
war nämlich größer und ich Esel habe gedacht OCIE1A aktiv & OCIE1B 
inaktiv -> reset bei OCR1A und OCIE1B aktiv & OCIE1A inaktiv -> reset 
bei OCR1B.

@Peter

So werde ich das machen.



Besten Dank

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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.