1. Базово (при запрещённой вложенности прерываний), в avr8 обработка текущих запросов на прерывания происходит непрерывно друг за другом согласно их приоритетам. 2. Ну а если у вас разрешены вложенные прерывания, то возникшему прерыванию нет никакой разницы кого прерывать: фоновую программу или ISR (приоритет уже выполняемой ISR не имеет никакого значения).
Возврат из любого прерывания всегда будет осуществлён в точку его вызова плюс единичка (PC=PC+1) с гарантированным выполнением инструкции находящейся по адресу точки возврата (грубо: что сейчас в PC то и выполняется в данный момент времени).
Таким образом, даже при "залипшем" прерывании, фоновая программа будет худо-бедно выполняться.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|