Цитата(_Артём_ @ Nov 22 2012, 20:33)

Зачем cntr_nested объявлена как static, а не как глобальная?
Чтобы зря не "засирать" namespace

Цитата(_Артём_ @ Nov 22 2012, 20:33)

Это подсчёт вложенности одного и того же прерывания?
Конечно. Ведь переменная имеет область видимости и изменяется только внутри данной конкретной функции обработки прерывания.
Цитата(_Артём_ @ Nov 22 2012, 20:33)

Не лучше ли на входе прерывания делать запрет вызова, а на выходе опять разрешать?
Данный вопрос свидетельствует о том, что вы слабо знакомы с системой прерываний MSP430. При переходе по вектору прерывания сохраняется состояние регистра SR (на стеке), затем флаг GIE (Global Interrupt Enable - глобальное разрешение
маскируемых прерываний), входящий в состав этого регистра, сбрасывается (точнее сбрасывается состояние
всего статусного регистра SR) и таким образом вложенные прерывания автоматически запрещаются. Так что отдельно запрещать прерывания непосредственно в функции обработки прерывания
не требуется. Если вам нужны вложенные прерывания, то в обработчике прерывания их можно разрешить (установив бит GIE). Естественно, что при выходе из прерывания состояние регистра SR (и бита GIE) восстанавливается.