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
}
Второй метод просто объявляет функцию над функцией цикла.