Руководство по программированию Arduino
Добавлено: 11 авг 2023, 14:40
Функции setup и loop
Функции - это блоки программного кода, делающие что-либо. В каждом скетче Arduino должны быть своя функция setup() и своя функция lоор (). Чтобы рассмотреть функции setup() и loop() в действии, давайте исследуем скетч Blink, который уже загружен в Arduinо:
В скетче вы видите немало текстовых строк, перед которыми стоят символы // Они означают, что весь текст после // и до конца строки считается комментарием. Это не программный код, а просто пояснения, помогающие человеку, читающему код, понять, что происходит.
Как понятно из комментариев, строки кода в функции setup() выполняются всего один раз точнее, всякий раз, как только на Arduino подается питание или после нажатия кнопки сброса. То есть, функция setup() используется для выполнения всех однократных операций, которые нужно выполнить при запуске программы. В примере с Blink нам всего лишь требуется указать, что контакт светодиода сконфигурирован как вывод.
Команды внутри функции loop() выполняются снова и снова - т.е., как только
в функции loop() закончится выполнение последней строки, программа возвращается к выполнению ее первой строки.
Здесь я не буду останавливаться на том, что именно делают в скетче Blink команды, находящиеся в функциях setup() и loop(), но не волнуйтесь - вскоре мы об этом поговорим.
Функции - это блоки программного кода, делающие что-либо. В каждом скетче Arduino должны быть своя функция setup() и своя функция lоор (). Чтобы рассмотреть функции setup() и loop() в действии, давайте исследуем скетч Blink, который уже загружен в Arduinо:
Код: Выделить всё
int led - 13;
// процедура запуска выполняется один раз
// после того, как вы нажмете кнопку сброса:
void setup(){
// инициализируем цифровой контакт как вывод.
pinMode(led, OUTPUT);
// циклическая процедура повторяется снова и снова,
// и так до бесконечности:
void loop(){
digitalWrite(led, HIGH); // включить светодиод
// (HIGH это уровень напряжения)
delay(1000); // подождать 1 секунду
digitalWrite(led, LOW);// выключить светодиод,
// переведя напряжение на уровень LOW
delay(1000); // подождать 1 секунду
Как понятно из комментариев, строки кода в функции setup() выполняются всего один раз точнее, всякий раз, как только на Arduino подается питание или после нажатия кнопки сброса. То есть, функция setup() используется для выполнения всех однократных операций, которые нужно выполнить при запуске программы. В примере с Blink нам всего лишь требуется указать, что контакт светодиода сконфигурирован как вывод.
Команды внутри функции loop() выполняются снова и снова - т.е., как только
в функции loop() закончится выполнение последней строки, программа возвращается к выполнению ее первой строки.
Здесь я не буду останавливаться на том, что именно делают в скетче Blink команды, находящиеся в функциях setup() и loop(), но не волнуйтесь - вскоре мы об этом поговорим.