Smoky 0 7 декабря, 2020 Опубликовано 7 декабря, 2020 · Жалоба Добрый день. Подскажите пожалуйста, как правильно использовать функцию прерывания ISR(TIMER0_OVF_vect) в различных модулях, и возможно ли это? Почему то компилятор "ругается" на двойное определение этой функции. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 7 декабря, 2020 Опубликовано 7 декабря, 2020 · Жалоба ISR -> Interrupt Service Routine -> процедура обработки прерывания. При возникновении прерывания управление будет передано соответствующему обработчику. На каждое прерывание должен быть один обработчик прерывания, иначе микроконтроллер не умеет обрабатывать прерывания. Поэтому компилятор и "ругается" Если необходимо, можно в модулях написать процедуры, которые вызываются из обработчика прерываний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Smoky 0 7 декабря, 2020 Опубликовано 7 декабря, 2020 · Жалоба Палыч спасибо. Положение усложняется, нужно существенно исправлять программу. У меня в программе используются отдельные модули для нескольких независимых режимов работы, из них три модуля должны использовать функцию прерывания по переполнению ТАЙМЕРА0. Жаль что он только один, хорошо хоть 16-ти разрядных таймеров четыре, и тут проблем не будет. Ещё раз спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться