[an error occurred while processing this directive] [an error occurred while processing this directive]
Господа,а кто знает что за фигня с прерываниями у Cygnal?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено cobra 28 января 2002 г. 10:00

Я всегда считал что при уходе по прерыванию сбрасывается флаг разрешения глобальных прерываний,а команда reti отличается от ret тем что при выходе из обработчика разрешает глобальные прерывания.Ставлю на метке m1 breakpoint,после останова смотрю EA = 1.После программного сброса EA прерываний больше не возникает(reti флаг не включил).Это что,новый стиль?

void IntTimer0(void) interrupt 1 using 1
{
m1: EA = 0;
TR0 = 0;
TH0 = high_byte(Timer0Data);
TL0 = low_byte(Timer0Data);
TR0 = 1; // Start Timer 0
KeyboardObr();
}

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

Ответы



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

E-mail: info@telesys.ru