Как выгрузить скетч

Я загрузил скетч на Arduino с помощью Ardunio IDE, и он работает, но когда я нажимаю кнопку сброса, я понимаю, что программа не удаляется. Есть ли способ выгрузить программу? Почему? Потому что, когда я разбираю его, чтобы убрать, я не знаю, сломает ли что-нибудь эта программа, которая включает или выключает контакты и ничего к ней не подключено.

, 👍2

Обсуждение

как устройство может включать и выключать контакты, когда нет питания для запуска устройства?, @jsotola

@jsotola верно правильно. я смотрю на это, как будто я просматриваю примеры в учебных целях. для случая, когда, если я отключу все и уберу это (но программа не будет удалена), а затем я снова включу это, где у меня больше ничего не подключено, тогда я был обеспокоен тем, что произойдет, @1.21 gigawatts


2 ответа


Лучший ответ:

3

Frist: Arduino не может сломаться, если к нему ничего не подключено, независимо от того, что делает код.

Если вы хотите удалить текущий код из Arduino, вы должны перезаписать его пустым скетчем (только с setup() и loop(), оба пустые). Поэтому загрузите пустой скетч.

Кнопка сброса не предназначена для стирания кода. Он предназначен для возврата Arduino в определенное начальное состояние (без стирания программного пространства или EEPROM) и выполнения программы на Arduino (включая загрузчик) с самого начала.

,

Спасибо. Таким образом, нажатие сброса отключает питание, очищает память и запускает настройку, а затем снова выполняет функцию цикла., @1.21 gigawatts

Это не сокращает мощность. Сброс — это аппаратная функция микроконтроллера Arduino. Затем контроллер начнет выполнение программы с нулевого адреса программы. Итак, сначала запускается загрузчик (который позволяет вам программировать через USB/последовательный порт), затем запускается ваша программа, которая также включает создание стека в памяти для ваших переменных. На самом деле память не стирается (как при перезаписывании нулями или единицами), но ваша программа неявно инициализирует используемую память определенными значениями (компилятор создает такой машинный код из вашего кода C++). Затем установка и совместное выполнение, @chrisl


3

Вы не можете удалить программу, перезагрузив Arduino. Если вы хотите быть уверены, что он не сможет активировать какие-либо контакты в вашем следующем эксперименте, то непосредственно перед тем, как вы закончите его, загрузите новую программу, которая ничего не делает, например, Основы | Пример минимальной программы. Она эффективно заменит предыдущую программу.

При включении питания все ваши контакты[*] настраиваются как входы. С программой Bare Minimum эти пины не изменятся, пока вы не начнете писать & загрузка нового кода, который их изменяет.

[*] Обратите внимание, что загрузчик перенастроит контакт 1, контакт последовательного передатчика, как выход.

,