А что делать, если будут вложенные прерывания?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено rezident 15 апреля 2005 г. 15:55
В ответ на: Если все функции используют R1, то если функция вызовет ... отправлено Хитрый Чэн 15 апреля 2005 г. 15:36

Откуда компилятор узнает о них? Вот поэтому и формализовали таким способом сохранение регистров при обработке прерывания. Почитайте мануал на компилятор, там должно быть указано какие регистры обычно используются функциями и какие из них сохраняются. В IAR EW430, например, можно указать что R4 и R5 : Not userd (Project-Options-C/C++ compiler-Code) и тогда компилятор не будет их использовать при компиляции функций и соответственно не будет сохранять их в стек при обработке прерываний.

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

Ответы



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

E-mail: info@telesys.ru