Grundlagen effekiver Interrupt-Routinen

Interrupts sind ein mächtiges Mittel in der Mikrocontroller Entwicklung wenn es darum geht die begrenzte Rechenleistung eines Mikrocontroller effektiv zu nutzen.

Nutzt man jedoch ineffizienten Code in einer Interrupt Routine kann dieser Vorteil schnell zu nichte gemacht werden.

Hier daher ein paar grundlegende Tips zum design von Interrupt Routinen:

  • Interrupt Routinen sollten so kurz wie möglich sein (auf Anzahl der Prozessortakte bezogen, was nicht unbedingt heisst das es wenige Zeilen Code sein müssen. Wie wir später sehen werden kann es durchaus sein dass 20 Zeilen Code schneller ausgeführt werden als 3 Zeilen Code)
  • Interrupt Routinen sollten keine anderen Funktionen/Methoden aufrufen sofern man nicht genau weiss was man tut und den Scope der Interrupt Routine definiert
  • Man sollte sich immer genau überlegen was in einer Interrupt Routine erledigt werden muss und was ggf. besser vom Hauptprogramm des Mikrocontrollers verarbeitet werden sollte (manchmal reicht es ja auch einen Flag in einer Variablen zu setzen auf die das Hauptprogramm dann bei nächster Gelegenheit reagiert um weitere, ggf. Zeitintensivere Berechnungen anzustoßen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.