WINAVR: в чём разница при объявлении процедуры прерывания - SIGNAL и INTERRUPT
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Игорь
02 августа 2005 г. 11:06
Составить ответ
|||
Конференция
|||
Архив
Ответы
Если я правильно понял, то INTERRUPT - в подпрограмме обработки разрешает прерывания, а SIGNAL - нет
—
MaximK
(02.08.2005 11:55
194.125.237.57
,
пустое
)
просто у меня всего одно прерывание было в программе, от UART по приёму. и оно с объявлением INTERRUPT не работало
—
Игорь
(02.08.2005 12:57
212.0.197.81
,
пустое
)
ну так флаг прерывания снимается по чтению UDR, а тебе компилер в прологе прерывания разрешил до этого. Ты тут же реентрантно входишь опять в прерывание. Через несколько микросекунд стек переполнится и прощайте хлопцы
—
DASM
(02.08.2005 13:23
217.118.78.1
,
пустое
)
INTERRUPT - global interrupts initially enabled / SIGNAL initially DOSabled. Потенциальные грабли с nested interrupts и stack overflow
—
DASM
(02.08.2005 11:23
217.118.78.1
,
пустое
)
DOSabled сильео сказано, DISabled конечно ))
—
DASM
(02.08.2005 11:24
217.118.78.1
,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru