Interrupt-Verständnisfrage

Gast #2993181
Lesenswert?
• ▲
▼
Hallo Leute,

ich habe mal eine Verständnisfrage. Ich muss ein Programmablauf 
erklären, weiss aber nicht weiter. Und zwar besteht mein Programm aus 5 
Modulen, diese Module setzen sich zusammen aus State machines und werden 
nacheinander zyklisch aufgerufen. Bei einem IR-Befehl findet ein 
I2C-Interrupt statt. Die State machines werden ja nacheinander 
aufgerufen, aber ein interrupt ist doch zum unterbrechen der CPU 
gedacht. Wie ist das zu Verstehen?

Gruss
#2993231
Lesenswert?
• ▲
▼
Das ist so zu verstehen, dass dein Tagesablauf Routine ist und immer 
gleich aussieht

  in der Früh aufstehen
  Kaffee trinken
  ins Büro fahren
  vormittag arbeiten
  mittagessen
  nachmittag arbeiten
  abendessen
  schlafen


also deine ganz normalen täglichen State-Maschines, die du ständig 
abarabeitest.

Und irgendwann, du weißt nicht wann, kommt der Hausmeister rein und 
schreit "Feuer!", worauf hin du deine gerade laufende Tätigkeit 
unterbrichst, die vorgesehenen Aktionen für diesen Fall durchführst und 
nachdem die Feuerwehr wieder weg ist, machst du dort weiter, wo du 
unterbrochen wurdest.
#2993305
Lesenswert?
• ▲
▼
Prototyp schrieb:
> aber ein interrupt ist doch zum unterbrechen der CPU
> gedacht.

Genau so ist es. Hat er sein Ding gemacht, kehrt er genau an die 
Unterbrechungsstelle zurück und macht weiter. Das unterbrochene Programm 
merkt also nichts davon.

Du hast wohl vermutet, er hinterläßt Chaos. Nein, sowas kann man sich 
beim Programmieren nicht leisten.
In C kümmert sich der Compiler darum, in Assembler mußt Du selber darauf 
achten, daß durch den Interrupt nichts zerstört wird.


Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.