[an error occurred while processing this directive] [an error occurred while processing this directive]
Глюк в AVRStudio - отработка прерываний(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено АндрейК 12 октября 2001 г. 08:43

код см. ниже
глюк (глюк ли ???) в следующем: курсор стоит на строчке cli(); и в дизассемблере и в трассировщике это видно - вручную генерю прерывание установкой SPIF в 1 - СТУДИЯ ВЫПОЛНЯЕТ CLI(), помеченный как (глюк) ПОТОМ ВЫПОЛНЯЕТ ЕЩЕ ОДИН CLI(), положенный по закону, выполняет обработчик прерывания, потом, как положено по закону sei() и уходит на строчку if(условие1)
ПРИ РАЗРЕШЕННЫХ ПРЕРЫВАНИЯХ !!!

в чем дело ? как бороться ? какие еще бывают отладчики (кроме х#@ни типа IAR C_SPY)?

for(;;) // main loop
{
cli(); // (глюк)
if(условие1)
{
//тут код 1
}
sei();

if(условие 2)
{
//тут код 2
}
}

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

Ответы



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

E-mail: info@telesys.ru