Wer in der Gefahr steht, dass Interrupts zwar ausgelöst werden, aber dazu keine Interruptroutine besteht, wird diese Tatsache nicht mit den überall empfohlenen "reti"-Lücken in der Interruptvektortabelle erkennen. Der angehängte Beispielcode (für einen ATMEGA8) stellt für alle Interrupts einen gemeinsamen Handler zur Verfügung, der mit nur 23 Codeworten einen ggf. fehlenden Vektor bei Auslösung des Interrupts in einer Endlosschleife an den LEDs anzeigt. Der Code setzt wesentlich voraus, dass auf dem Prozessor höchstens 23 Interruptvektoren vorhanden sind. (Bei mehr Vektoren kann der Code trotzdem verwendet werden, aber es wird dann Situationen geben, wo der auslösende Interrrupt nicht mehr eindeutig aus dem Blinkrhythmus der LEDs bestimmt werden kann.)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.