- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Утилиты
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- Прерывания
- Функции передачи данных
- Функции
- Устройства
- Датчики
Функции
В Arduino функция — это именованный блок кода, который выполняет определенное действие и может быть вызван по своему имени из другого места программы. Основными функциями в любом скетче Arduino являются void setup(), выполняемая один раз при запуске, и void loop(), работающая в бесконечном цикле. Использование функций делает код более организованным, компактным, легким для чтения и отладки, а также позволяет повторно использовать части кода в других проектах.
Основные функции Arduino
- void setup(): Эта функция вызывается автоматически один раз при запуске программы (или после перезагрузки платы). Её используют для инициализации переменных, настройки режимов работы выводов (пинов) и запуска необходимых библиотек.
- void loop(): Эта функция выполняется после завершения setup() и работает в бесконечном цикле, повторяя свой код до тех пор, пока питание не будет отключено или плата не будет перезагружена. В неё помещается основная логика программы и вызовы других функций.
Зачем использовать функции?
Организация кода:
Функции позволяют разбить большую программу на более мелкие, управляемые блоки, каждый из которых выполняет свою задачу.
Повторное использование кода:
Если какое-то действие нужно выполнить несколько раз, вы можете написать для него функцию один раз и вызывать её по имени столько, сколько потребуется, вместо того чтобы копировать один и тот же код. Читаемость: Код становится более понятным, так как его можно прочитать, понимая только общую логику вызовов функций, не углубляясь в детали каждой функции.
Удобство отладки:
Ошибки проще найти и исправить в небольших, хорошо определенных блоках кода, а не в одной большой массе инструкций.
Модульность:
Функции позволяют создавать "модули" — части кода, которые можно легко использовать в других программах, что делает разработку более эффективной.
Примеры:
Простая функция:
void setup() {
pinMode(13, OUTPUT); // Настраиваем пин 13 как выход
}
void loop() {
blink(); // Вызываем нашу функцию для мигания
}
// Наша собственная функция для мигания светодиода
void blink() {
digitalWrite(13, HIGH); // Включаем светодиод
delay(1000); // Ждем 1 секунду
digitalWrite(13, LOW); // Выключаем светодиод
delay(1000); // Ждем 1 секунду
}
Пример функции в Arduino с возвращаемыми данными:
int multiply(int a, int b) {
int result = a * b;
return result; // Возвращаем значение произведения
}
void setup() {
Serial.begin(9600); // Инициализация последовательного порта
int product = multiply(5, 3); // Вызываем функцию и сохраняем результат
Serial.println(product); // Выводим результат: 15
}
void loop() {
// Основной код программы
}