А как быть с контекстом обработки, если разрешена вложенность, да еще и на несколько уровней? (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено adw 03 августа 2005 г. 21:54
В ответ на: Имеются несколько вопросов по ATmega64 отправлено Aleksey_N 03 августа 2005 г. 19:04

Имеется в виду, какие именно действия выполняются обработчиком?
Если обработчик выполняет подряд несколько простых операций, а затем одну достаточно сложную (например, в течение ста прерываний ведет накопление, а на стопервое - обработку), тогда вложенность необходима, да и то только на один уровень. Если все операции одинаковы, тогда во вложенности нет смысла, ибо обработка будет происходить правильно, только до определенного порога внешней частоты, после которого она захлебнется. Можно при этом следить за стеком, но какой смысл? Ведь результат все-равно будет неверным.
Я в таких случаях, делал обработчик максимально простым, избегая всяких там лишних флагов и контроля (ведь на это надо дополнительное время) и давал ему максимальный приоритет. Вложенности не делал. Подсчитывал, какую максимальную частоту программа может обработать, устанавливал порог, чуть меньший этой частоты. В основном цикле сравнивал полученное значение с порогом, при его превышении измерение неверно. И правильно, ибо нефиг.

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

Ответы



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

E-mail: info@telesys.ru