(→Bascom Interrupts (Mega8)) |
|||
Zeile 1: | Zeile 1: | ||
== Bascom Interrupts (Mega8) == | == Bascom Interrupts (Mega8) == | ||
+ | |||
+ | |||
+ | Interrupts | ||
+ | |||
+ | Struktur: | ||
+ | |||
+ | Config InterruptXXX ‘Konfiguriere Interrupt | ||
+ | Enable Interrupts ‘generell Interrupts zulassen | ||
+ | Enable InterruptXXX ‘schalte speziell den InterruptXXX ein | ||
+ | On InterruptXXX SprungXXX ‘verzweige bei InterruptXXX zu SprungXXX | ||
+ | |||
+ | Do | ||
+ | ....Hauptprogramm ‘Hauptprogramm | ||
+ | Loop | ||
+ | End | ||
+ | |||
+ | SprungXXX: ‘Unterprogramm von InterruptXXX | ||
+ | ....Ausführung ‘arbeitet hier etwas ab und springt mit Return | ||
+ | Return ‚ wieder zurück, zum Hauptprogramm | ||
+ | |||
+ | |||
+ | |||
+ | Am Anfang muss man zuerst den beabsichtigten Interrupt mit „Config“, konfigurieren. | ||
+ | Dann das generelle einschalten von Interrupts. | ||
+ | Dann mit „Enable“ den bestimmten Interrupt einschalten. | ||
+ | Mit „On“ das Unterprogramm (ISR) definieren, an die der Interrupt springen soll, | ||
+ | wenn dieser ausgelöst wird. (ISR= Interrupt Service Routine) | ||
+ | |||
+ | Grundsätzlich kann man das so betrachten, dass es das Hauptprogramm gibt (mit eventuellen Unterprogrammen) und die Interrupt Service Routinen (ISR). | ||
+ | Bei einem Interrupt, wird das Hauptprogramm unterbrochen und der Prozessor spring in die ISR. Die ISR wird abgearbeitet und mit Return wird wieder an die Stelle zurückgesprungen, wo vorher das Hauptprogramm unterbrochen wurde. | ||
+ | |||
+ | Man soll darauf achten, dass in der ISR immer nur kurze Anweisungen abgearbeitet werden und der Hauptteil dann im Hauptprogramm bearbeitet wird. | ||
+ | Sonst kann es sein, dass man den Prozessor damit blockiert. |
Version vom 13. Januar 2006, 11:12 Uhr
Bascom Interrupts (Mega8)
Interrupts
Struktur:
Config InterruptXXX ‘Konfiguriere Interrupt Enable Interrupts ‘generell Interrupts zulassen Enable InterruptXXX ‘schalte speziell den InterruptXXX ein On InterruptXXX SprungXXX ‘verzweige bei InterruptXXX zu SprungXXX Do ....Hauptprogramm ‘Hauptprogramm Loop End SprungXXX: ‘Unterprogramm von InterruptXXX ....Ausführung ‘arbeitet hier etwas ab und springt mit Return Return ‚ wieder zurück, zum Hauptprogramm
Am Anfang muss man zuerst den beabsichtigten Interrupt mit „Config“, konfigurieren. Dann das generelle einschalten von Interrupts. Dann mit „Enable“ den bestimmten Interrupt einschalten. Mit „On“ das Unterprogramm (ISR) definieren, an die der Interrupt springen soll, wenn dieser ausgelöst wird. (ISR= Interrupt Service Routine)
Grundsätzlich kann man das so betrachten, dass es das Hauptprogramm gibt (mit eventuellen Unterprogrammen) und die Interrupt Service Routinen (ISR). Bei einem Interrupt, wird das Hauptprogramm unterbrochen und der Prozessor spring in die ISR. Die ISR wird abgearbeitet und mit Return wird wieder an die Stelle zurückgesprungen, wo vorher das Hauptprogramm unterbrochen wurde.
Man soll darauf achten, dass in der ISR immer nur kurze Anweisungen abgearbeitet werden und der Hauptteil dann im Hauptprogramm bearbeitet wird. Sonst kann es sein, dass man den Prozessor damit blockiert.