Forum: Mikrocontroller und Digitale Elektronik Interrupt-Verständnisfrage


von Prototyp (Gast)


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

von Michael R. (elektr-hobbyist)


Lesenswert?


von Bronco (Gast)


Lesenswert?

Michael R. schrieb:
> Bei einem IR-Befehl findet ein
> I2C-Interrupt statt.

Was meinst Du mit "IR-Befehl"?

von Karl H. (kbuchegg)


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.

von Peter D. (peda)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.