+1 голос

Сегодня хотел попробовать создать две простенькие функции, одна включает а другая выключает светодиод

Скетч грузится, но не работает Подскажите в чем проблема?

void ledOn() { digitalWrite(led, 1); }
void ledOff() { digitalWrite(led, 0); }
void setup() {
  pinMode(led, OUTPUT);
}
void loop() {
  ledOn;
  delay(1000);
  ledOff;
  delay(500);
}

Пробовал менят функции местами все равно не работает

(37 баллов) 2 6 10

2 Ответы

+3 голосов
 
Лучший ответ
Код загружается потому что это выражение допустимо в c++, но работает от не так, как ожидалось.

Дело в том, что ledOn и ledOff — указатели на функции.

Для того, чтобы функция заработала, нужно в конце указателя добавить (), так мы «говорим», что мы хотим выполнить функцию.
(1.6 тыс. баллов) 3 9 33
выбран
+4 голосов

А почему такой странный вызов ?

ledOn;

Правильно будет:

ledOn();

А вообще ТУТ есть подробные примеры....

(1.2 тыс. баллов) 7 26 51
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...