avr как сделать программный перезапуск

Нужно сделать сброс микроконтроллера при выполненнии опредленных дейтсвий (программный перезапуск). Главное что бы микроконтроллер не подвисал после сброса, применение будет в автономной системе, очень высокие требования по надежности.

Если ножек куча, то есть

Если ножек куча, то есть хватит на сам проект, то можно задействовать одну ногу и кодключить её к выводу сброса. Недостатки такого способа:
1. используется вывод, который можно было бы более эффективно применить,
2. сам не пробовал, теоретически могут быть баги.

Попробуй WDT юзать.

Попробуй WDT юзать.

А что это WDT?

А что это WDT?

Watchdog timer. Таймер, если

Watchdog timer. Таймер, если его не сбросить до того, как он переполниться - микроконтроллер ребутается.