mega16 16bit Timer output compare

Gast #151137
Hallo in die Runde,

folgende Situation: Ich verwende beim ATmega16 den 16bit Timer
(Timer1). Alle zahlenangaben in Dezimal(bin noch nicht profi :)).Möchte
daß er bei 9766 einen Interrupt auslöst. Dafür habe ich die OCR1H und
OCR1L gesetzt (jeweils auf 38. 9766 mod 256 = 38 und 9766 / 256 = auch
38). Interruptvektoren gibt es nur für high-byte(OCR1H) oder lowbyte
(OCR1L).
FRAGE:
Wie erreiche ich, daß er ausschließlich bei highbyte=lowbyte=38 ein
interrupt auslöst und nicht jedesmal wenn das lowbyte bei 38 ankommt?

kann doch nicht schwer sein, aber ich bin noch nicht draufgekommen :(

Gruß und Dank,
Johannes
Gast
Tatsächlich, es sind zwei verschiedene 16byte registers. Ich habbe an
OCR1A und OCR1B als low und highbyte gedacht. Denkfehler. schon wieder
so ein peinlicher.

alles wieder im Lot. Danke dir fr die NAchfrage, war sofort hilfreich
:)
Johannes

Antwort schreiben

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