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

Отправлено  Romka  08 января 2002 г. 10:34
В ответ на: Сброс и WDT отправлено Александр Веер 07 января 2002 г. 18:23

... пишем спокойненько программу, инициализируем WDT на необходимый временной промежуток.
Далее, если в программе имеется основной цикл без всяких там остановов, то вставляем команду сброса WDT в него, а если основной цикл ждет там отзывы от портов и т.п., то для "мобильного" девайса подходит другой способ, в обработчике прерывания по таймеру, где чаще всего идут всякие там опросики клавиатуры и т.п. ставим команду сброса WDT, но в этом втором способе надо быть поосторожней, так как програмка может зависнуть, а таймерочек останется на ходу и весь эффект в попу к дьяволу, извините.
Теперь поясняю, как сделать девайс, а именно ВКЛ./ВЫКЛ. вначале проги стоят функции "усыпления", далее по прерыванию от клавиши ВКЛ./ВЫКЛ. устройство заводится, включается WDT, девайс работает, происходит сбой, WDT сбрасывает проц и прибор усыпает, что бы отдельно не писать функции усыпления не от сбоя, а от клавиатуры, делаем след. программируем "сторожевик" не на большое время (т.е. мало значимое для юзера до 0.5 сек) и отрабатываем клавиши, если клавиша ВКЛ./ВЫКЛ. была нажата в течении какого-то временного промежутка, то команду сброса WDT не выполняем, и опять же девайс усыпает...

Ну и как везде здесь есть тонкости, ну теперь давайте cпециалисты "узкого" профиля, бить меня что-ли!!! :-)))

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

Ответы



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

E-mail: info@telesys.ru