klingt nur so.Zitat von DerSchatten
Wieso das denn? Wenn Du am ersten Platz der Warteliste stehst - und beim Aufruf nicht erscheint - dann darf doch der nächste mitfliegen/fahren/etc - oder nicht? GENAUSO ist es bei den Interrupts.Zitat von DerSchatten
Der Interrupt wird abgearbeitet:
a) wenn er erlaubt ist : sei();
b) wenn ein Auslöser kommt
b1) der kann z.B. in einer Initialisierungsroutine - z.B. init_TC0 - Initialisiere Timer Counter 0 vorbereitet werden
c) wenn keine andere ISR läuft
d) wenn nicht gleichzeitig ein anderer, höher priorisierter IR kommt
e) wenn eine ISR da ist. Kommt schon mal vor dass ein IR kommt - und keine ISR da ist - dann gibts ein bisschen Konfusion (aber das behandeln wir später)
f) wenn der Rechner/Controller (noch) läuft *ggg*
Du weißt sicher, dass dies nicht die einzige Startbedingung ist - das kann variieren. DENN sei(); ist eine notwendige, aber nicht immer eine hinreichende Bedingung. Manchmal sind weitere Initialisierungen und Interrupt enable Flags notwendig oder sonstwiewasauchimmer.Zitat von DerSchatten
Lesezeichen