Ардуинки, ESP, программирование
93 subscribers
51 photos
8 videos
5 files
15 links
Канал о программировании и вообще об электронике

Вот наш чат: https://yangx.top/arduinki_esp_chat
加入频道
А сейчас вы узнаете, что такое функции и зачем это всё.
Очень часто в прошивке много раз повторяются почти одинаковые фрагменты кода, и чтобы каждый раз всё это не писать, придумали функции. У них есть параметры, т.е. они могут получать значение. Ещё функции могут возвращать результат. Делаются они так:
<тип> <имя> (параметры [переменные, через запятую]) {
// код
return <значение>;
}

Можно задать значение параметров по умолчанию.
Например, вот функция, которая складывает 2 числа:
int sum(int a, int b) {
return a+b;
}

Тип возвращаемого значения может быть void, значит функция ничего не возвращает. Ещё может не быть параметров, тогда скобки будут пустыми. Функции доступны глобальные переменные, она может их использовать. Чтобы вызвать функцию, надо написать её имя, а потом в скобках написать значения параметров (числа, переменные):
sum(2, 3);

Если функция возвращает значение, его можно записать в переменную или передать в другую функцию:
int t = 42;
int c = sum(t, 123);
Serial.println(sum(c, t));

Если функция ничего не возвращает, return писать не надо, но с помощью него можно завершить выполнение функции:
void func(byte *val=NULL) {
if (!val) return;
*val = 123;
}
byte a = 5;
func(&a);
// a == 123
func(); // ошибки не будет

Ещё можно делать шаблонные функции, но это совсем другая история...
#уроки
#начало
7👍21