Arduino

технологии

Структура программы

В отличии от программы на языке C++ с обязательной функцией main(int argc, char *argv[]), скетч для Arduino содержит две другие обязательные функции.

void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

Как видно из все того же примера мигания светодиодом, это функции setup() и loop().

Функция setup() вызывается лишь один раз при первом запуске программы. Ее стандартное использование: первичная настройка. Обычно это установка режима работы пинов, инициализация переменных и объектов. Функция должна обязательно присутствовать в программе, даже если она пустая. В нашем примере в ней задается режим работы пина 13.

Функция loop() содержит код, который повторяется бесконечное число раз в цикле. Весь основной код обычно размещается здесь. В примере это строчки с 8 по 11, в которых происходит повторение функции digitalWrite(), которая зажигает и гасит светодиод. Между ее вызовами стоит функция задержки delay().

Функция loop() также должна обязательно присутствовать в скетче. Хотя обычно она содержит код, бывают случаи, когда программа должна выполниться лишь один раз, после чего завершиться. В этом случае удобнее весь код разместить в функции setup(), а loop() останется пустой.