Hi! Bin ich blind oder habe ich die Möglichkeit den Intterupts Prioritäten zuzuweisen schlicht und einfach übersehen? Ich habe mehrere Interrupts (ADC12, TimerB, Port1, USARTTX, USARTRX) welche aus meiner Sicht eine gewisse Priorität haben müssen (TimerB, USART's, ADC12, Port1). Vielleicht eine generelle Frage mal davon abgesehen, dass dies wahrscheinlich von Applikation zu Applikation verschieden sein dürfte. Versucht man andere Interrupts während der Abarbeitung einer Interrupt Routine zu unterdrücken resp. schaltet man diese ab? Wie seht ihr das so? Schon mal Danke für die Antworten. Gruss
Das kommt eben drauf an, was man machen will. Die Interrupt-Priorität ist im Datenblatt erst mal angegeben. Wenn man die Enable-Bits nicht während einer ISR sperrt, haben die INTs die Priorität wie im Datenblatt. Natürlich kannst du in deiner TimerB ISR alle anderen INTs sperren. Und in den anderen ISRs jeweils die höher prioren INTs zulassen. Macht Sinn, wenn man eine RTS programmiert, da wäre es ja Unsinn, wenn der Timer INT warten müsste bis der ADC fertig ist oder sowas....
Ich bin auf der Suche nach eine Tabelle mit der Prioritäten. Bis jetzt habe ich im User Manual (437 Seiten) gesucht, aber da habe ich bis jetzt nichts gefunden. Falls du etwas genauer sagen kannst wo, dann wäre ich dir sehr dankbar. Im Datenblatt habe ich bis jetzt noch nicht geschaut. Das muss ich mal nachholen.
Hiho, die Prioritäten sind fix, können also nicht wie z.B. bei den C16x von Infineon je nach Bedarf zugeordnet werden. Da die Interrupts Device-abhängig sind, findest Du im User Manual nur die Platzhalter,die Details in den Datenblättern. Habe mal im Anhang als Bsp. den F1232 beigefügt. Wenn Du da mal auf Seite 9 schaust, findest Du die Priorisierung für dieses Derivat.
Wunderbar, ich habs jetzt auch für meine App gefunden. Nochmals Danke und Gruss
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.