Не только МК может "защелкиваться" по входам, но и другие
перийферийные м/с. Был у нас лет 10+ назад один случай, когда из-за
зависшего АЦП порвало трубы отопления в новом здании. Случилось
сочетание факторов: а) программист не предусмотрел проверку
валидности кодов АЦП на предмет недостоверности результатов и б)
нельзя было "пересбросить" АЦП по питанию схеметохнически, а только
программно. В результате контроллер не смог определить перегрев
котла из-за того, что АЦП гнал один и тот же код. После того раза всегда ставим независимые тепловые термореле на перегрев котла, которые рубят питание горелки. Ну, а в ПО контроллеров для случаев зависшей периферии ввели аварийный перезапуск по питанию, когда в случае детектирования какой-нибудь аварии, которую нельзя исправить программно, МК перестает генерить импульсы для WDT, который в свою очередь аппаратно выключает питание всего контроллера.