IT-словарь › Оборудование › Обработчик прерывания (ISR)

Обработчик прерывания (ISR)

Оборудование Svenska → Обновлено: 2026-11-03

Функция, на которую переходит процессор при срабатывании прерывания — код, работающий на одолженном времени, посреди чего-то другого.

Её адрес берётся из таблицы векторов прерываний. На Cortex-M ISR — обычная функция на C, поскольку аппаратура сама сохраняет регистры вызывающего кода в кадре исключения; на старых архитектурах требовался ассемблерный пролог или специфичное для компилятора ключевое слово __interrupt.

Основные правила универсальны: быть короткой, никогда не блокироваться, сбрасывать флаг прерывания до возврата (иначе оно тут же сработает снова) и обмениваться данными с основной программой через volatile-переменные или критическую секцию. Тяжёлую работу передают задаче — см. отложенную обработку прерываний. В FreeRTOS есть отдельные вызовы …FromISR() именно потому, что обычный API может попытаться заснуть, а ISR этого делать нельзя ни при каких обстоятельствах.

← Назад к словарю