Lexikon

Interrupt

der Interrupt, -s

Ein Interrupt ist eine kurzfristige Unterbrechung der normalen Programmausführung, um einen bestimmten Vorgang abzuarbeiten. Das Wort interrupt kommt aus dem Englischen und bedeutet so viel wie "Unterbrechung". Ein Beispiel für eine Programmunterbrechung könnte ein Roboter sein, der sich bewegt und bei Auftreffen auf einen Gegenstand seine Bewegung unterbricht. Dann sorgt ein Interrupt im Programm des Roboters dafür, dass er stehen bleibt oder seine Richtung ändert.
Emne:
Software - Programmierung - MakeCode - Arduino
Synonymer:
Unterbrechung
Beispiele für den Gebrauch des Worts "Interrupt"
  • Programmiere einen Interrupt für den Fall, dass der Roboter in einen Gegenstand fährt.
  • Wenn die Lichtstärke zu hoch wird, soll ein Interrupt aufgerufen werden.
MakeCode
In MakeCode kann man die Funktionen unter Eingabe verwenden, um einen Interrupt zu erstellen. Im folgenden Beispiel wurde zu Beginn eine Pause gesetzt, die aber jederzeit unterbrochen werden kann, wenn jemand die Taste "A" drückt.

Arduino
Um dieses Programmbeispiel auszuprobieren, brauchst die eine LED, die an Pin 13 angeschlossen ist, und einen Schalter oder Taster an Pin 2. Das Beispiel stammt von der offiziellen Website von Arduino, wo du weitere Informationen dazu findest. Weitere Infos über attachInterrupt
//Unsere LED
const int ledPin = 13;
//Unser Taster
const int interruptPin = 2;
//Der Zustand unserer LED - also ob sie ein- oder ausgeschaltet ist
volatile byte state = LOW;

void setup() {
  //Setzt unsere LED als Ausgabegerät
  pinMode(ledPin, OUTPUT);
  //Setzt den Taster als Eingabegerät
  pinMode(interruptPin, INPUT);
  //Hier rufen wir die Funktion attachInterrupt auf. Sie hat 3 Parameter.
  //1. Parameter ist der Pin, der unterbrochen werden soll
  //2. Parameter ruft die zu zu benutzende Funktion auf. In diesem Fall ist das ein Blinken,
  //wodurch die LED vom Zustand aus zum Zustand ein wechselt
  //3. Parameter legt fest, wann attachInterrupt aufgerufen wird - nämlich wenn eine Veränderung eintritt.
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}

void loop() {
  //Hier wird die LED mit Zustand LOW oder HIGH gezeigt, also aus oder ein.
  digitalWrite(ledPin, state);
}

void blink() {
  //Blink verändert den Zustand ins Gegenteil des vorherigen Zustands
  state = !state;
}