Gast
#1639126
Hallo, ich habe einen Atmega8. Dabei habe ich mehrere Interrupts. Gemäß der Interrupt Tabelle (Datenblatt) ist der INT0 das höchstwertige Interrupt. Gleichzeitig gibt es in meinem Programm jedoch noch ein Compare Match, welches höher priorisiert ist (für mein Programm, jedoch nicht in der Tabelle). Das Compare Match schaltet lediglich einen Port um, mehr nicht. Nun habe ich aber das Problem, das beim Auftreten von INT0 und falls zur gleichen Zeit der Port abgeschaltet werden soll, INT0 ausgeführt wird und der Port zu spät abgeschaltet wird. Das Compare Match wäre hier zeitkritischer. Meine Frage, wie löst man das? In der INT0 Interrupt Routine das Flag abfragen, ob das Compare Match gesetzt ist und den einen Befehl (Port abschalten) dort machen, Interrupt Flag löschen, oder gibt es bessere Lösungen? Danke. Grüße Mandy