[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]

Отправлено Shal 08 января 2002 г. 08:53
В ответ на: "при сбоях в основном теле программы, я делаю вид, что это непринципиально" - т.е. основное тело программы можно вообще исключить??? :-)) отправлено Kuka 08 января 2002 г. 08:10

Устройство управляет неким процессом (например, таймер).
Перед началом работы производятся настройки - когда и чего включить-выключить (и какие входные сигналы принимать во внимание).
Как таймер запустили - все, он обязан каждые N мс что-то сделать. Пусть при сбое основной программы он перестанет отрабатывать нажатия клавиш, исчезнет возможность управлять через менюшку и т. п. - НЕ НАДО перезапускаться.
Процесс ДОЛЖЕН закончится - если уж совсем все плохо, то либо оператор это заметит и сам примет решение о ручном перезапуске, либо сработает WDT (при сбое в подпрограмме обработки прерывания), таймер все отключит и выдаст сообщение о некорректном завершении.
Перезапуск же от всякой вышеперечисленной чепухи вызовет, например, сбой внутренней шкалы времени и прочие малопривлекательные последствия.

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

Ответы



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

E-mail: info@telesys.ru