我正在尝试使用我的arduino制作一个反应游戏,它选择一个随机的时间长度,然后再打开内置LED并等待您按下按钮,然后给您快速或慢速的分数,问题是,当我尝试将其上传到arduino(所有设置均正确)时,在某些行上会出现一条错误消息,该行与另一个不同的程序完全相同,并且使用相同的东西并起作用。
const int buttonPin = 4;
const int ledPin1 = 3;
const int ledPin2 = 2;
//~~~~~~~~~~##~~~~~~~~~~\\
int buttonState = 0;
int oldButtonState = 0;
int wait = 0;
bool isLoop = true;
//~~~~~~~~~~##~~~~~~~~~~\\
void setup() {
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(buttonPin, INPUT);
}
digitalWrite(LED_BUILTIN, LOW);
//~~~~~~~~~~##~~~~~~~~~~\\
void loop() {
// put your main code here, to run repeatedly:
randInt = random(500, 5001);
delay(randInt);
digitalWrite(LED_BUILTIN, HIGH);
while (isLoop == true){
buttonState = digitalRead(buttonPin);
if (buttonState == LOW){
isLoop = false;
}
}
wait = millis() - randInt
Serial.println(String(wait));
if (wait <= 1000){
digitalWrite(ledPin1, HIGH);
}else{
digitalWrite(ledPin2, HIGH);
}
delay(2000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
}
上面是我的代码,当我尝试上传它时,出现以下错误消息:
Arduino:1.8.5(Windows应用商店1.8.10.0)(Windows 10),主板: “ Arduino / Genuino Uno”
Reaction_Game:11:错误:“序列”未命名类型
Serial.begin(9600);
^
Reaction_Game:12:错误:预期的构造函数,析构函数或类型 '('令牌之前的转换
pinMode(ledPin1,OUTPUT);
^
Reaction_Game:13:错误:预期的构造函数,析构函数或类型 '('令牌之前的转换
pinMode(ledPin2,OUTPUT);
^
Reaction_Game:14:错误:预期的构造函数,析构函数或类型 '('令牌之前的转换
pinMode(LED_BUILTIN,OUTPUT);
^
Reaction_Game:15:错误:预期的构造函数,析构函数或类型 '('令牌之前的转换
pinMode(buttonPin,INPUT);
^
Reaction_Game:16:错误:'}'令牌之前的预期声明
}
^
退出状态1“序列”未命名类型
此报告将包含“显示详细输出”的更多信息 在文件编辑->首选项中启用了“编译期间”选项。
这是事实,尽管这一行确切:
Serial.begin(96000);
在另一个运行完美的程序中(相同的地方,所有的东西)
有人可以帮我吗?一无所获,我几乎放弃了。
答案 0 :(得分:0)
1摆脱这些奇怪的无用评论
//~~~~~~~~~~##~~~~~~~~~~\\
2这是无效设置之外的
digitalWrite(LED_BUILTIN, LOW);
这里缺少3个分号
wait = millis() - randInt
4声明randInt,在此行之前插入int
randInt = random(500, 5001);
5个提示1
while (isLoop == true){
可以写为
while (isLoop) {
6技巧2,您不必冗长地字符串化
Serial.println(String(wait));
答案 1 :(得分:0)
以下行在void设置功能之外:
digitalWrite(LED_BUILTIN, LOW);
您还需要输入分号
wait = millis() - randInt
在
中将int声明为数据类型randInt = random(500, 5001);