Forum: Mikrocontroller und Digitale Elektronik Interrupts ein- bzw. ausschalten


von Toni (Gast)


Lesenswert?

Wie kann ich einzelne Interrupts beim Atmega 32 ausschalten. Möchte dass
mein µC verschiedene Betriebsarten hat. Wenn ich eine bestimmte
Betriebsart wähle möchte ich z.B. Timer0 ausschalten
Timer1 auschalten
External Interrupts ausschalten
SPI einschalten
AD-Wandlung einschalten

Wie kann ich das machen?

von Sebastian F. (nemie)


Lesenswert?

RTFM

von Hannes L. (hannes)


Lesenswert?

Die Interrupts sind (beim Einschalten) erstmal aus.
Durch dein Programm schreibst du in die zuständigen I/O-Register (siehe
Datenblatt) die entsprechenden Bitwerte (siehe Datenblatt) um die
Hardware-Spezialfunktionen (also auch die Interrupts) einzustellen.

...

von Peter Dannegger (Gast)


Lesenswert?

Anmerkung:

Ob Interrupts enabled sind oder nicht, hat keinerlei Einfluß auf das
Setzen und Löschen der Interruptflags.

D.h.

- man kann Interruptquellen auch im Polling bearbeiten.

- waren Interrupts einige Zeit unbenötigt, sollte vor der erneuten
Freigabe immer präventiv das Interruptflag gelöscht werden.


Peter

von Toni (Gast)


Lesenswert?

Wie kann ich z.B. die Timer1 Interrupt-Routine ausschalten, sprich damit
 der µC nicht mehr den Code in dieser Interruptroutine ausführt.

von Peter Dannegger (Gast)


Lesenswert?

"Wie kann ich z.B. die Timer1 Interrupt-Routine ausschalten"

???

T1 sind 4 Interrupts zugeordnet, da must Du schon sagen, welchen Du
meinst.

Bzw. besser Du guckst einfach mal ins Datenblatt, da steht alles ganz
genau drin.


Peter

von D. W. (dave) Benutzerseite


Lesenswert?

Im zugehörigen Register (TIMSK, glaub Timer Interrupt MaSK) die
entsprechenden Bits löschen.

von Toni (Gast)


Lesenswert?

@Peter Dannegger
Ich meine den Overflow Interrupt

von Kai Markus T. (kmt)


Lesenswert?

Im TIMSK-Register das Bit TOIE1 auf 0 setzen.

KMT

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.