[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: размышления внутри.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Ralex 05 ноября 2001 г. 09:02
В ответ на: Господа, как выйтии из прерывания не по команде rti , скажем, а на определенное место в программе отправлено whale 02 ноября 2001 г. 18:32

Очевидно, при прерывании вам уже не нужно возвращаться в то место программы, откуда выдернули в прерывание? Тогда реализация не сильно сложная. Нужно выкинуть из стека всё, что туда положили в прерывании (и адрес возврата в основную прогу тоже), положить туда адрес перехода и выполнить RETI, (или, как у вас - RTI?). Дело в том, что обычный возврат не сбрасывает определённых настроек контроллера прерываний, и можно ли их будет нивелировать сбросом бит "ручками" - не факт.

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

Ответы



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

E-mail: info@telesys.ru