Gast
#37815
Hallo zusammen! Ich möchten mit einem Mikrocontroller, der keine gegenseitgig unterbrechbaren Interrupts (wie z.B. der C166) unterstützt programmieren und dabei eine ähnliche Interruptstruktur erzeugen wie sie der C166 hardwareseitig besitzt. D.h. die Abarbeitung der Interrupts soll Priotirätengesteurt funktionieren und wenn ein Interrupt gerade abgearbeitet wird und es kommt einer mit höherer Priorität, dann soll dieser zwischengeschoben werden. Habt ihr eine Idee, wie man dieses am günstigsten machen kann? Habe mir schon überlegt, dass ich vielleicht gleich nach dem springen in die ISR ein Flag setze und dann alle Ints wieder frei gebe. Und wenn dann ein neuer kommt prüfe ich dann ob die Priorität des neuen Ints höher ist. Oder vielleicht könnte man auch alle Vektoren auf eine Funktion legen, die dann entscheidet. Also so ne Art switch case Struktur, die nach Prioritäten sortiert ist. Habt Ihr da vielleicht schonmal was in der Richtung gemacht und kennt vielleicht eine gute Lösung? Um so eine Struktur komme ich glaube ich nicht herum , da ich hohe Echtzeitanforderungen habe. Viele Grüße, Ralf