Программный сброс на Arduino — это переход в начало кода (в нулевой адрес). 13 То есть код начинает исполняться с самого начала, не влияя на установки Arduino на момент сброса. 1 Например, если на момент перезагрузки микроконтроллера был установлен сигнал «HIGH» на каком-то выходе, то значение не вернётся по умолчанию в «LOW», а так и останется «HIGH». 1
Аппаратный сброс — это возвращение всех настроек платы к значениям по умолчанию. 13 То есть все переменные сбрасываются к исходным значениям, а все активные порты деактивируются и устанавливаются заново. 3
Таким образом, основное отличие в том, что программный сброс не стирает данные и не затрагивает прошивку, а просто перезапускает микроконтроллер, а аппаратный возвращает Arduino к состоянию «из коробки», стирая все загруженные скетчи и восстанавливая настройки по умолчанию. 5