Leksykon IT › Sprzęt › Procedura obsługi przerwania (ISR)

Procedura obsługi przerwania (ISR)

Sprzęt Svenska → Zaktualizowano: 2026-11-03

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.

← Wróć do leksykonu