Перейти к содержанию
    

Использование функции ISR

Добрый день. Подскажите пожалуйста, как правильно использовать функцию прерывания ISR(TIMER0_OVF_vect) в различных модулях, и возможно ли это? Почему то компилятор "ругается" на двойное определение этой функции. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ISR -> Interrupt Service Routine -> процедура обработки прерывания. При возникновении прерывания управление будет передано соответствующему обработчику. На каждое прерывание должен быть один обработчик прерывания, иначе микроконтроллер не умеет обрабатывать прерывания. Поэтому компилятор и "ругается" Если необходимо, можно в модулях написать процедуры, которые вызываются из обработчика прерываний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Палыч спасибо. Положение усложняется, нужно существенно исправлять программу. У меня в программе используются отдельные модули для нескольких независимых режимов работы, из них три модуля должны использовать функцию прерывания по переполнению ТАЙМЕРА0. Жаль что он только один, хорошо хоть 16-ти разрядных таймеров четыре, и тут проблем не будет. Ещё раз спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...