[an error occurred while processing this directive] [an error occurred while processing this directive]
Вопрос по IAR C для MSP430
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено John 20 февраля 2002 г. 18:07

Пишу что-то вроде

interrupt [ TIMERA0_VECTOR ] void TA0Intr ( void )
{
LPM0_EXIT;
} // TA0Intr

void main()
{
LPM0;
И вот сюда добраться не могу,из LPM0 процессор не выходит.
}

Пытался разобраться. Получается вот что.
В прерывание от таймера попадаю точно, проверял. Но выйти из LPM0 не получается, поскольку макрос LPM0_EXIT сбрасывает соответствующий бит в SR, а при выходе из прерывания SR восстанавливается из стека...
Замкнутый круг, однако, получается. По описанию нужно сбрасывать соответствующий бит в копии SR, лежащей в стеке, но IAR'овцы, похоже, лажанулись...
Или я чего-то не понимаю?
Короче, кто знает, как выйти из LPM0, пользуясь средствами С?
Заранее спасибо.

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

Ответы



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

E-mail: info@telesys.ru