Nein, das geht nicht. Interrupts haben eine bestimmte Priorität. Sie gehen dir evtl. auch nicht verloren, werden aber erst nach Beendigung der laufenden ISR ausgeführt.
Generell sollte man darauf achten, Programmteile in ISR so kurz wie möglich zu halten. Es empfiehlt sich, hier nur Flags zu setzen und auf diese dann im Hauptprogramm zu reagieren.
Was bezeichnest du als "lange" Routine? Gibts vielleicht die Möglichkeit, hier noch etwas zu optimieren in Bezug auf die Ausführungsgeschwindigkeit? (z.B. Vorausberechnungen oder Assembler)
Gruß MeckPommER
Lesezeichen