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?
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. ...
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
Wie kann ich z.B. die Timer1 Interrupt-Routine ausschalten, sprich damit der µC nicht mehr den Code in dieser Interruptroutine ausführt.
"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
Im zugehörigen Register (TIMSK, glaub Timer Interrupt MaSK) die entsprechenden Bits löschen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.