Мой код Arduino показывает неопознанную ссылку для 3 моих переменных, я не знаю, как это исправить
Вот код ошибки.
const int R = 12;
const int G = 10;
const int Y = 8;
const int PBR = 13;
const int PBG = 11;
const int PBY = 9;
const int pinNum = 3;
const int speaker = 2;
int LED = 0;
int gameStage = 0;
const int winNum = 2;
int gamePoint[winNum];
int rounding = 0;
unsigned long lastTime = 0;
unsigned long pause = 1000;
void ledState(int ledNum);
void clue(int rounding);
void begin_game();
void play();
void winning_sound();
void win();
void lose();
void lose_sound();
boolean inputWait(int buttonNum);
void setup() {
Serial.begin(9600);
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(Y, OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(speaker, OUTPUT);
randomSeed(analogRead(0));
}
void loop() {
if (gameStage == 0)
{
int PBvalue1 = digitalRead(PB1);
int PBvalue2 = digitalRead(PB2);
int PBvalue3 = digitalRead(PB3);
if (PBvalue1 && PBvalue2 && PBvalue3 == 0)
{
begin_game();
}
else
{
Serial.println("button Pressed");
ledState(-1);
rounding = 0;
delay(1500);
gameStage = 1;
}
}
if (gameStage == 1)
{
**play();** Error
}
if (gameStage == 2)
{
delay(750);
winning_sound();
**win();
win();
win();
win();** Error
delay(1500);
gameStage = 0;
}
if (gameStage = 3)
{
delay(750);
lose_sound();
**lose();
lose();
lose();** Error
delay(1500);
gameStage = 0;
}
}
@Rumaisa R, 👍-1
Обсуждение2 ответа
▲ 1
В строках 5,6,7 вы используете PBR, PBG и PBY,
В строках 39, 40 и 41 вы используете PB1, PB2 и PB3. Опять же, в вашем цикле void() вы ссылаетесь на PB1, PB2 и PB3
,
@Jeff A
▲ 0
Когда я попытался его скомпилировать, я получил (после редактирования **Error**
):
In function `loop':
/sketch_jan15b.ino:55: undefined reference to `begin_game()'
/sketch_jan15b.ino:60: undefined reference to `ledState(int)'
/sketch_jan15b.ino:68: undefined reference to `play()'
/sketch_jan15b.ino:74: undefined reference to `winning_sound()'
/sketch_jan15b.ino:75: undefined reference to `win()'
/sketch_jan15b.ino:76: undefined reference to `win()'
/sketch_jan15b.ino:77: undefined reference to `win()'
Это не переменные, а объявленные, но не определенные функции.
Изменение:
void ledState(int ledNum);
void clue(int rounding);
void begin_game();
void play();
void winning_sound();
void win();
void lose();
void lose_sound();
boolean inputWait(int buttonNum);
читать:
void ledState(int ledNum){}
void clue(int rounding){}
void begin_game(){}
void play(){}
void winning_sound(){}
void win(){}
void lose(){}
void lose_sound(){}
boolean inputWait(int buttonNum){}
Разрешена успешная компиляция кода.
,
@user85471
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
какие переменные? .... отформатируйте код, @jsotola