Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts

Ähnliche Präsentationen


Präsentation zum Thema: "Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts"—  Präsentation transkript:

1 Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts
INT0-Interrupt mit BASCOM-Befehlen INT0-Interrupt im Registermodell USART-Interrupt V Copyright 2016/17 by G. Heinrichs

2 Interrupts können wichtig sein!

3 Programmieren und testen
Ohne Interrupts Beispiel: Blinkzeit über Taster Ta0 einstellen Ohne Interrupts muss Ta0 durch entsprechende Befehle im Programm permanent überprüft werden (Polling). Gefahr: Ta0-Signal wird „übersehen“, weil Mikrocontroller gerade mit anderen Befehlen beschäftig ist. Unbequem: Evtl. viele Ta0-Überprüfungen im Programm erforderlich Programmieren und testen

4 Mit Interrupts Beispiel: Blinkzeit über Taster Ta0 einstellen
Mit Interrupts löst die Attiny-Hardware einen Sprung zu einem bestimmten Programmteil aus, wenn Ta0 betätigt wird. Der „normale“ Programmablauf wird dazu unterbrochen. Keine Gefahr, dass Ta0-Signal „übersehen“ wird Bequem: Keine Befehle zur Ta0-Überprüfungen im normalen Programmablauf

5 Anschaulich... D.2 Ta0 Achtung! Achtung! Ein Signal bei D.2!
Alles sofort unterbrechen! Blinkzeit erhöhen! Dann mit Altem weitermachen! D.2 Ta0

6 Interruptmodell Wenn der Attiny zur Interruptroutine (Interrupt Handler) springt, wird er für alle weiteren Interrupts gesperrt. Diese Sperrung wird erst aufgehoben, wenn der Attiny zum Hauptprogramm zurückkehrt. Hauptprogramm läuft und läuft... Durch Ta0 wird „INT0“ ausgelöst Hauptprogramm wird unterbrochen Sprung zur Marke „Schneller:“ und Xxx ausführen Rückkehr zum Hauptprogramm

7 Attiny-Interrupts Signal an PortD.2, z. B. mit Taster Ta0

8 Ein Blick hinter die… Programmadresse Befehl 0 (Reset) Springe nach 19
19 (Programmanfang) 20 Ta0 betätigt -> Merke Adresse 21 Springe nach 1 21 200 (Int0-Routine) 203 (Return) Springe nach 21

9 INT0-Interrupt (BASCOM)
INT0 ermöglichen INT0 konfigurieren Low Level Falling Rising Changing Interrupts global ermöglichen INT0 eine Routine durch Marke zuordnen INT0-Routine durch Return abschließen

10 Beispiel Blinkzeit Toggeln

11 INT0-Interrupt (Registermodell)
INT0 konfigurieren (Falling) INT0 ermöglichen Interrupts ermöglichen

12 Beispiel Noch einmal: Toggeln

13 USART-Interrupt Receive Complete Interrupt Enable
Wenn RXC auf 1 geht (Byte empfangen), dann wird ein RX-Interrupt ausgelöst. RXC wird nicht automatisch gelöscht!

14 USART-Interrupt (BASCOM)

15 Beispiel COM-Quittung


Herunterladen ppt "Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts"

Ähnliche Präsentationen


Google-Anzeigen