[an error occurred while processing this directive]
Собака - друг не только человека, но даже и эмбеддера ;)
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

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

Отправлено BLACKEAGLE 17 апреля 2003 г. 14:09
В ответ на: Уважаемые мастера! Подскажите по поводу watchdog в AVR (+) отправлено tavr 17 апреля 2003 г. 13:09

Главная функция, которая на нее возлагается - вытаскивать из глухих циклов, дурных залетаний в непробуждаемый SLEEP и т.п. Типичный случай - код ждет прихода периодической "1" от чего-нибудь внешнего, и это внешнее программист посчитал настолько незыблемым, что не удосужился проверять таймаут. А незыблемое взяло да залипло/отвалилось, вот и будет вечный цикл. Или - помеха привела к записи в TCCRx нуля, и остановился внутренний таймер, флага от которого будет до упора ждать система. А грамотно накормленная собачка все это разруливает.

Команды "кормежки" глупо ставить в процедурах обработки таймерских прерываний или внутри мелких циклов. Их место - УСПЕШНЫЙ конец главного цикла системы (допустим, процедуры main) или нечто подобное.

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

Ответы



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

E-mail: info@telesys.ru