Питання: Куди я кладу код, якщо хочу, щоб він виконувався лише один раз під час запуску 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
функції, як-от вона може працювати лише стільки часу?)
І, якщо вони однакові з точки зору апаратних та програмних засобів, чи існує "найкраща практика" або стандартний спосіб написання коду для цих ситуацій у громаді Ардуїно?
exit
команди обговорюється в arduino.stackexchange.com/questions/188/…