Не работает код для 3-х кнопок и 3-х светодиодов. Выдает: Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno" In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:32:0, from sketch\sketch_jan18a.ino.cpp:1: C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/binary.h:31:12: error: expected unqualified-id before numeric constant #define B1 1 ^ C:\Users\Елена\Desktop\sketch_jan18a\sketch_jan18a.ino:4:11: note: in expansion of macro 'B1' exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno. Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" А вот код (на всяк случ): const int L1 = 9; const int L2 = 10; const int L3 = 11; const int B1 = 2; const int B2 = 3; const int B3 = 4; void setup() { pinMode(L1, OUTPUT); pinMode(L2, OUTPUT); pinMode(L3, OUTPUT); pinMode(B1, INPUT); pinMode(B2, INPUT); pinMode(B3, INPUT); } void loop() { if (digitalRead(B1) == LOW) { digitalWrite(L1, LOW); } else { digitalWrite(L1, HIGH); } if (digitalRead(B2) == LOW) { digitalWrite(L2, LOW); } else { digitalWrite(L2, HIGH); } if (digitalRead(B3) == LOW) { digitalWrite(L3, LOW); } else { digitalWrite(L3, HIGH); } } Причем любой другой код без проблем грузит. Закон подлости или что-то другое?
1. Вставьте код правильно (кнопка "<>" на панели редактора); 2. Приведите полный код - в том, что вы привели, нет ни одного #define, на который ругается.
Понял в чём дело. Дайте другие имена переменным, ибо B1 - это в binary.h определение для двоичного представления числа 1. Короче, B1 как имя переменной - лучше не юзать.
Более того, вообще любые имена переменных, состоящие только из заглавных букв и цифр - лучше не юзать. Такие имена принято использовать для макросов препроцессора. Так что советую во всех ваших переменных заменить большие буквы маленькими...
Программа загрузилась, спасибо. А вот работает как-то странно. По идее, светодиоды должны включаться и выключаться нажатием соответствующих кнопок, а они просто мигают.
Если не используете внешнюю подтяжку, включите внутреннюю Код (C++): pinMode(B1, INPUT_PULLUP); pinMode(B2, INPUT_PULLUP); pinMode(B3, INPUT_PULLUP); http://wiki.amperka.ru/конспект-arduino:кнопка