[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]
Если же обработчик ничего не вызывает (все делает сам), то компилятор сохраняет только регистры, реально используемые обработчиком.
Возможно, у Вас из C-обработчика вызывается asm-функция. Если Вам нужен максимально быстрый обработчик, то надо либо писать на C, не вызывая из него никаких фунуций, либо (самый быстрый вариант) - целиком на asm.
Составить ответ
|||
Конференция
|||
Архив
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru