Forum: Mikrocontroller und Digitale Elektronik Wie kann man den Timerinterrupt vorher auslösen?


von Grillparzer (Gast)


Lesenswert?

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

von ...HanneS... (Gast)


Lesenswert?

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...

von ...HanneS... (Gast)


Angehängte Dateien:

Lesenswert?

Hi...

Zum Beispiel so... (Anhang)

...HanneS...

von Grillparzer (Gast)


Lesenswert?

Hallo Hannes

Danke für den Source ich muss die sache jetz noch studieren.

Gruss Gillparzer

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.