Я думаю, что вы имеете в виду процедуру обработки прерываний, когда ссылаетесь на interrupt function
.
ISR - это функция C, которая помечена для вставки в таблицу векторов аппаратных прерываний.
Вот пример:
void __interrupt Rb0_Isr(void);
или ( ссылка )
unsigned int interruptcnt;
unsigned char second;
void timer0 (void) interrupt 1 using 2 {
if (++interruptcnt == 4000) { /* count to 4000 */
second++; /* second counter */
interruptcnt = 0; /* clear int counter */
}
}
Как видите, это зависит от платформы и от компилятора.
РЕДАКТИРОВАТЬ: спасибо @ThomasMatthews за замечание. ISR также могут быть реализованы на C ++. Если вопрос: Is it possible to use a class method as the Interrupt Service Routine?
ответ - да, но немного сложнее. Смотрите тему: C ++ ISR с использованием метода класса?