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

Отправлено Romario 20 августа 2001 г. 13:50
В ответ на: Ответ: не понял в чем проблема... отправлено Михаил Евстафьев 20 августа 2001 г. 03:46

>>Так сигнал от железа (аппаратный) или от ISR (т.е. программный).
да, может намудрил с объяснением - имеется ввиду обычное прерывание от h/w, а признак прерывания устанавливается в ISR :)

>>Под заснуть подразумевается режим экономии энергии (аппаратный) или >>перевод задачи в сосояние WAITING?
именно в WAITING.

>>Не понятен смысл манипуляций с обработчиками прерываний. Почему >>нельзя обойтись одним?
дело в том, что прерывание используется по разному - как для настройки
h/w, так и для вывода задачи из sleep (т.е. работа h/w "сбилась" и требует настроки). В первом случае ISR не должна сигналить (например,
тем же семафором), во втором случае должна, чтобы разбудить задачу.
Можно ,конечно, обойтись признаком текущего режима работы ISR, тоже
вариант, не спорю, но мне понравилось замена ISR:)



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

Ответы



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

E-mail: info@telesys.ru