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
Michael R. schrieb: > Bei einem IR-Befehl findet ein > I2C-Interrupt statt. Was meinst Du mit "IR-Befehl"?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.