Procedura obsługi przerwania (ISR)
Funkcja, do której procesor skacze, gdy zgłosi się przerwanie — kod wykonywany na kredyt, w środku czegoś innego.
Jej adres pochodzi z tablicy wektorów przerwań. W Cortex-M ISR to zwykła funkcja w C, bo sprzęt sam odkłada rejestry na stos w ramce wyjątku; starsze architektury wymagały prologu w asemblerze albo specyficznego dla kompilatora słowa __interrupt.
Zasady są uniwersalne: pisz krótko, nigdy nie blokuj, skasuj flagę przerwania przed powrotem (inaczej wystrzeli natychmiast ponownie), a dane z programem głównym dziel przez zmienne volatile lub sekcję krytyczną. Ciężką robotę przekazuje się zadaniu — zob. odroczona obsługa przerwań. FreeRTOS ma osobne wywołania …FromISR() właśnie dlatego, że zwykłe API mogłoby spróbować uśpić wątek, czego ISR nigdy nie wolno.