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

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

Отправлено Designer 02 июля 2004 г. 12:46
В ответ на: Искусственный вызов прерывания последовательного порта в МК52 отправлено N_BOGOYAVLENSKY 02 июля 2004 г. 10:57

Во вторых общий бит разрешения прерываний (EA)должен быть установлен
Setb EA
...
Далее в теле программы:
Jnb RI, NEXT
Clr RI ;
Setb ES
Setb RI
...
...
;Где-то здесь сработает система прерываний и будет выполнен переход
; на процедуру обработки
...
NEXT:
...

В процедуре прерывания
Clr RI
Clr ES
...
...
;сама обработка
...
...
RETI

В третьих. При входе в прерывание блокируется система прерывания по текущему приоритету. Так же как выполнение запрета прерываний (сброс EA), но только для того уровня приоритета, которому соответствует данное прерывание. (Прерывания более высокого приоритета будут выполняться.) По окончании обработки прерывания выполняется команда RETI. Эта команда выполняется точно так же, как и RET, но при этом еще и разблокирует систему прерываний по текущему уровню приоритета.
С этого момента могут обрабатываться другие,уже поступившие (до выполнения команды RETI) прерывания согласно их естественного приоритета. Правда прерывания будут восприниматься после того, как вслед за командой RETI выполнится еще одна команда прерванного участка программы.

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

Ответы



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

E-mail: info@telesys.ru