Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gertrud Krämer Geändert vor über 6 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.