Arduino - Функции

Функции позволяют структурировать программы по сегментам кода для выполнения индивидуальных задач. Типичный случай создания функции - это когда нужно выполнить одно и то же действие в программе несколько раз.

Стандартизация фрагментов кода в функции имеет несколько преимуществ:

  • Функции помогают программисту оставаться организованным. Часто это помогает концептуализировать программу.

  • Функции кодифицируют одно действие в одном месте, так что функция должна быть продумана и отлажена только один раз.

  • Это также снижает вероятность ошибок при модификации, если код необходимо изменить.

  • Функции делают весь набросок меньше и компактнее, поскольку участки кода используются многократно.

  • Они упрощают повторное использование кода в других программах, делая его модульным, а использование функций часто делает код более читаемым.

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

Наиболее распространенный синтаксис для определения функции -

Объявление функции

Функция объявляется вне любых других функций, выше или ниже функции цикла.

Мы можем объявить функцию двумя разными способами:

Первый способ - просто написать часть функции с именем a function prototype над функцией цикла, которая состоит из -

  • Тип возврата функции
  • Название функции
  • Тип аргумента функции, не нужно писать имя аргумента

После прототипа функции должна стоять точка с запятой (;).

В следующем примере показана демонстрация объявления функции с использованием первого метода.

пример

int sum_func (int x, int y) // function declaration {
   int z = 0;
   z = x+y ;
   return z; // return the value
}

void setup () {
   Statements // group of statements
}

Void loop () {
   int result = 0 ;
   result = Sum_func (5,6) ; // function call
}

Вторая часть, которая называется определением или объявлением функции, должна быть объявлена ​​под функцией цикла, которая состоит из:

  • Тип возврата функции
  • Название функции
  • Тип аргумента функции, здесь необходимо добавить имя аргумента
  • Тело функции (операторы внутри функции, выполняемые при вызове функции)

В следующем примере демонстрируется объявление функции с использованием второго метода.

пример

int sum_func (int , int ) ; // function prototype

void setup () {
   Statements // group of statements
}

Void loop () {
   int result = 0 ;
   result = Sum_func (5,6) ; // function call
}

int sum_func (int x, int y) // function declaration {
   int z = 0;
   z = x+y ;
   return z; // return the value
}

Второй метод просто объявляет функцию над функцией цикла.