[an error occurred while processing this directive]
|
Если у Вас на борту нормальные устройства (т.е. без радиолюбительских прибабахов и без схемотехнических сериальных издевательств), то у них есть буферизация и нет никакой необходимости искать приключений и разрешать вложенные прерывания. Используем быстрый и короткий обработчик interuptf, очевидно что прерывания при этом не теряются, они лэтчатся. Если есть устройство, которое требует немедленного обслуживания (например, схемотехники изгиляются над программистом; вообще-то это не зависит от частоты прерываний, просто вот такое устройство - прерывания идут редко, но вынь ему и положь - обслужи немедленно, типа низкая латентность) - то нет другого выхода, как разрешить вложенные прерывания и использовать обработчик общего вида interrupt.
Вообще-то такая ситуация связана или с разгильдяйством разработчиков или с мультиплицированием различных асинхронных функций на одном устройстве (одном прерывании).
Что такое interrupts не разбирался, но наверное всё зависит от того, что понимается под контекстом и какие регистры сохраняются/восстанавливаются.
E-mail: info@telesys.ru