Wie kann man den Timerinterrupt vorher auslösen?

Gast #93761
Hallo

Ich habe eine Frage die mich brennend interessiert.
Kann mtineinen Timer vor dem Overflow-interrupt vielleicht
einen anderen Interrupt auslösen?

Also wenn ich bei einem 16Bit Timer bei 65536 den Timerinterrupt
auslösen kann ich dann auch z.B. schon bei 30000 einen anderen auslösen
können?

Ich habe mal was von Compare-Funktionen gehört oder habe ich das was
flasches aufgeschnappt?

Gruss Grillparzer
Gast
Hi...

Kommt drauf an, ob der von dir verwendete Timer/Counter "Compare"
unterstützt. Der Timer0 des 2313 kann das z.B. nicht, da wirst du wohl
schon mal deine Nase ins Datenblatt deines AVR stecken müssen...

Das siehst aber auch schon an der Interrupt-Vektortabelle daran, ob es
einen Vektor für TimerX-Compare-Match gibt.

Wenn der Timer das unterstützt, musst du in das/die Compare-Register
den Vergleichswert schreiben und den Compare-Interrupt aktivieren
(globalen Interrupt natürlich auch). In der zugehörigen ISR schreibst
du dann Code, was bei Erreichen des Vergleichswertes gemacht werden
soll.

Wie die I/O-Register des Timer im Einzelnen heißen erfähst du im
Datenblatt bzw. auch im Workspace-Fenster des AVR-Studios (wenn du den
richtigen Typ für die Simulation ausgewählt hast). Einige Timer haben
auch Hardware-PWM-Funktionen, die musst du dann berücksichtigen und die
Bits der Steuerregister dementsprechend einstellen. Hierzu ist ein Blick
ins Datenblatt notwendig. Die Bezeichnungen der Bits und Register
erfährst du zwar auch über das Workspace-Fenster, die Beschreibungen
dazu dürften nur im Datenblatt zu finden sein. Je mehr Funktionen ein
Timer bietet, desto unübersichtlicher erscheint dem Anfänger die
Beschreibung im Datenblatt.

Viel Erfolg...
...HanneS...

Antwort schreiben

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