Любой микроконтроллер серии AVR содержит несколько встроенных таймеров, которые по назначению можно разделить на два вида: Зачем нужен сторожевой таймер? По разным причинам микроконтроллер может зависнуть. Например, это может случиться из-за ошибки в программе или из-за внешней помехи. Однако, в отличие от компьютеров, микроконтроллеры, как правило, работают без участия человека, часто находятся в удалённых труднодоступных местах и т.п. То есть не всегда возможно быстро перезагрузить микроконтроллер в случае зависания. Можно, конечно, поизвращаться и принять меры для удалённой перезагрузки. Однако разработчики микроконтроллеров предусмотрели другой способ - сторожевой таймер, который автоматически перезагружает микроконтроллер в случае его зависания. Таймеры общего назначения используются для формирования различных интервалов времени (например, задержек) и прямоугольных импульсов заданной частоты. Кроме того, они могут работать в режиме счетчика и подсчитывать тактовые импульсы заданно