[an error occurred while processing this directive] [an error occurred while processing this directive]
IAR C сохраняет R0-R3, R16-R23, R30,R31, если обработчик прерывания вызывает какую-либо функцию - он думает, что она их может изменить.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено kons 08 февраля 2002 г. 13:50
В ответ на: Проблемма с написанием быстрого прерывания в IAR2.26C. отправлено zsn 08 февраля 2002 г. 11:27

Если же обработчик ничего не вызывает (все делает сам), то компилятор сохраняет только регистры, реально используемые обработчиком.

Возможно, у Вас из C-обработчика вызывается asm-функция. Если Вам нужен максимально быстрый обработчик, то надо либо писать на C, не вызывая из него никаких фунуций, либо (самый быстрый вариант) - целиком на asm.

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

Ответы



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

E-mail: info@telesys.ru