Цитата(BVU @ Oct 13 2005, 14:20)
Цитата(BAA @ Oct 13 2005, 14:04)
Знаю что присутствует, но слышал что они иногда так виснут что и внутрений сторожевой таймер не помогает.
Сам не сталкивался...
А Вы ОБС не слушейте, а делайте в соответствии с фирменными рекомендациями. WDT он и в Африке WDT!

А если ваша встроенная система повиснет, так что собственный WDT не помогает, то не поможет и внешний. Причина такого зависания совершенно иного характера. Попробуйте 'стрельнуть' мощным электромагнитным импульсом и узнаете, как работает электроника...

Это смотря где поставить команду asm("wdr")! У нас была ситуация, когда при испытаниях на ЭМС, устройство висло, хоть тресни! После анализа кода программистом, он убрал достаточно много сбросов WDT и, о чудо! Устройство прошло по самой жесткой категории на ЭМС! Совершенно согласен с
Уважаемым BVU, что устройство можно вогнать в такое состояние, когда вернуть его в "чувство" поможет только снятие и повторная подача питания. Было. Проходили. Но не все же устройства у Уважаемых коллег работают в таких диких условиях. Поэтому, я лично(моё мнение) никогда не ставлю asm("wdr") в тех участках программы, где, например, дожидаюсь готовности от чего-то и время ожидания этой готовности заведомо меньше, чем время сработки WDT. А вот если готовности за это время не было, то тут сработает WDT, а далее перезапуск программы, переинициализация перефирии и т.д. и т.п. Тут уже нужно стараться, чтоб не "висла" периферия.

Ярчайший пример часто "виснущей" в неблагоприятных электромагнитных условиях периферии - это ЖКИ с внутренним контроллером. Поэтому, при случаях полного клинча устройства, не нужно сразу грешить на контроллер. Тут собака может быть зарыта где угодно! Только кропотливый и детальный анализ ситуации поможет в ней разобраться.