Вопрос о прерываниях (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Misha190E 10 февраля 2005 г. 23:28

Добрый вечер,
тини15.
есть прерывание по переполнению таймера0 и прерывание по INT0. Хотелось бы понять, если проц вошел в обработчик прерывания таймера, то есть гарантия что пока он его не выполнит полностью, он не запустит прерывание по INT0?
Далее, с помощью прерывания переполнения таймера пытаюсь реализовать 16ти битный таймер, т.е. при каждом переполнении тупо увеличиваю значение старшего регистра воображаемого таймера.
Теперь ситуация: допустим таймер отщелкал уже число 255, потом случилось прерывание INT0, начал выполняться обработчик INT0, во время выполнения таймер0 переполняется (т.е. по идее должно вызваться прерывание), но в теле INT0 мы считываем оба значение таймера, обнуляем таймер0 и нам уже обработчик по переполнению в данном случае неинтересен (уже все что надо узнали), вызовется ли обаботчик переполнения или нет? т.е. нуна контролировать эту ситуацию? (например какой-нить флажок сбросить в управляющих регистрах?) иначе ведь, если выховется прерывание по переполнению то значение воображаемого таймера увеличится на 256, хотя в данном случае это не надо.
Заранее благодарен за ответ.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru