[an error occurred while processing this directive]
Ответ: примерно так
(«Телесистемы»: Конференция 'Цифровые сигнальные процессоры (DSP) и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено fontp 01 июня 2004 г. 12:29
В ответ на: Так а что с промежуточным вариантом ? Да и с этим терзают смутные сомнения - что лучше - долго и упорно сохранять все регистры или "быстро обработал, свалил и дал дорогу другому" если без вложенных прерываний отправлено evgen_k 01 июня 2004 г. 11:40

Если у Вас на борту нормальные устройства (т.е. без радиолюбительских прибабахов и без схемотехнических сериальных издевательств), то у них есть буферизация и нет никакой необходимости искать приключений и разрешать вложенные прерывания. Используем быстрый и короткий обработчик interuptf, очевидно что прерывания при этом не теряются, они лэтчатся. Если есть устройство, которое требует немедленного обслуживания (например, схемотехники изгиляются над программистом; вообще-то это не зависит от частоты прерываний, просто вот такое устройство - прерывания идут редко, но вынь ему и положь - обслужи немедленно, типа низкая латентность) - то нет другого выхода, как разрешить вложенные прерывания и использовать обработчик общего вида interrupt.
Вообще-то такая ситуация связана или с разгильдяйством разработчиков или с мультиплицированием различных асинхронных функций на одном устройстве (одном прерывании).
Что такое interrupts не разбирался, но наверное всё зависит от того, что понимается под контекстом и какие регистры сохраняются/восстанавливаются.

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru