Дебильная система прерываний Атмеги (размышления поклонника MCS-51)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено VS 01 июня 2004 г. 15:41

Имеется Атмега128. Необходимо использовать несколько прерываний с разными приоритетами. Как следует из даташита приоритет каждого прерывания жестко определяется его вектором. Неудобствие, но терпеть можно. Идем дальше. Что происходит когда во время выполнения одного прерывания приходит запрос на другой? А ничего. Как следует из того-же даташита при выполнениии любого прерывания бит общего разрешения прерываний сбрасывается аппаратно. А если есть желание, его можно обратно включить программно. Но вот ведь закавыка, придти то может запрос от прерывания с меньшим приоритетом и оно начнет выполняться. Так? Стало-быть необходимо все это разруливать ручками? И никакой об аппаратной поддержке приоритетов прерываний не может быть и речи?

И еще вопросик: если запросы на прерывания идут непрерывно, после выхода из него проц. выполняет хотя-бы одну команду основной программы как в 51-м или сразу переходит к обработке следующего прерывания?

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

Ответы



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

E-mail: info@telesys.ru