То, что вы делаете при получении прерывания, зависит от конкретного прерывания. Правило большого пальца состоит в том, чтобы выяснить, что является критически важным для конкретного прерывания, а затем выполнить «просто» (не более и не менее) и выйти из обработчика как можно скорее. Кроме того, обработчики прерываний - это лишь малая часть вашего драйвера (именно так вы должны проектировать). Например, если вы получаете прерывание для входящего байта на некотором последовательном порту, то вы просто читаете байт из регистра и помещаете его в некоторую переменную «volatile», заводите все и выходите из обработчика. Остальное (например, что вы будете делать с входящим байтом на последовательном порту) может быть обработано в коде драйвера.
Правило большого пальца остается: «не больше, не меньше»