Nikolay_Po (21.12.2019 16:41 - 16:52, просмотров: 532) ответил RxTx на Тоже так считаю. Однако наблюдаю не первый проект, когда на любой чих делают просто полный системный reset, еще и заводя пин сброса на порт.
В общем, это нормально для встраиваемого контроллера. У меня был проект, который каждый новый цикл начинал со сброса, и сброс там был как из кода, так и по вачдогу - в зависимости от режима работы. Несколько раз в секунду. И ничего. Шансов ему зависнуть не было.
Просто я не придумал, как обеспечить максимальную надёжность и гарантировать возможность сброса в случае зависания по любой причине, кроме как сделать сброс частью нормального рабочего процесса. С точки зрения внешних сигналов, на выходы оказалось достаточно поставить RC-цепочки. Контроллер успевал перегрузиться и подхватить управление портами намного раньше, чем конденсаторы, хранящие логический уровень на время сброса, переставали удерживать предпоследний.
P.S. Наивно полагать, что, допустим, безупречный код в контроллере в реальных условиях отработает безупречно в течение всего срока службы устройства. В некоторых случаях контроллер от питания не отключаются вообще никогда. Может и отработать. А может и нет. Вероятность отказа идеального кода всегда остаётся. Причин для зависания несколько, хотя бы электромагнитные помехи и частицы с высокой энергией. Поэтому в тех применениях, где контроллер нельзя отключить или сбросить извне, нужен супервизор или хотя бы сброс по сторожевому таймеру, лучше периодический и штатный. Тогда есть вероятность, что глюка, который всё-таки пришёл, пользователь не заметит.