Arduino:
Организация кода в функции
Как это сделать:
Представьте, что вы хотите заставить светодиод мигать. Без функций ваш loop
- это беспорядочная куча. С функциями всё аккуратно. Вот как:
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
blinkLED(500); // Мигание светодиодом каждые 500ms
}
// Функция для мигания светодиодом
void blinkLED(int delayTime) {
digitalWrite(LED_PIN, HIGH);
delay(delayTime);
digitalWrite(LED_PIN, LOW);
delay(delayTime);
}
Пример вывода: Ваш светодиод счастливо мигает, и назначение кода очевидно с первого взгляда.
Погружение в детали
До функций программирование было линейным путешествием; вы видели каждую яму от начала до конца. После функций - это больше похоже на перелёты, когда вы перескакиваете на важные части. Исторически, подпрограммы (ранние функции) были революцией в программировании, позволяя кодерам избегать повторений – это принцип DRY, Не Повторяй Себя. Альтернативы функциям могут включать в себя макросы или использование классов для объектно-ориентированного программирования (OOP). Суть в том? Когда вы определяете функцию, вы даёте компилятору план выполнения задачи. С Arduino вы часто определяете функции типа void, которые действуют как простые команды для микроконтроллера, но функции также могут возвращать значения, что делает их более универсальными.
Смотрите также
Для получения дополнительной информации о функциях просмотрите следующее:
- Официальная справка по функциям Arduino: https://www.arduino.cc/reference/en/language/functions/
- Узнать больше о принципе DRY: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
- Обновление знаний об истории подпрограмм: https://en.wikipedia.org/wiki/Subroutine