Вопрос: куда мне поместить код, если я хочу, чтобы он выполнялся только один раз за запуск Arduino?
Предыстория: я склонен использовать свой Arduino для выполнения задач, которые должны выполняться один раз за цикл питания. (Например, мой робот должен двигаться вперед только один раз при каждом его включении - более того, и он может упасть со стола.)
Стандартный Arduino IDE «шаблон» состоит из loop()
и setup()
функции. setup
Код выполняется один раз за цикл питания и loop
повторно запускается каждый раз , когда он заканчивает.
Я вижу два подхода к коду "1 время задачи:"
Способ 1: «Цикл один раз»
void setup() {
//do setup stuff
}
void loop() {
//do task
while(1) ; //Repeat forever, preventing function from re-starting
}
Способ 2: «Только настройка»
void setup() {
//do setup stuff
//do task
}
void loop() {
//do nothing
}
Более подробная форма вопроса: является ли один из этих методов «лучше» с точки зрения аппаратного или программного обеспечения? (например, есть ли что-то «особенное» в setup
функции, например, она может работать только столько времени?)
И, если они одинаковы с точки зрения аппаратного и программного обеспечения, существует ли «наилучшая практика» или стандартный способ написания кода для таких ситуаций в сообществе Arduino?
exit
команды обсуждается в arduino.stackexchange.com/questions/188/…