If statement Arduino:错误:在';如果';(使用ping传感器)
我修改的脚本有问题。我得到了一个“ Ping_Library_示例:9:错误:在“if”之前应为非限定idIf statement Arduino:错误:在';如果';(使用ping传感器),if-statement,arduino,ping,If Statement,Arduino,Ping,我修改的脚本有问题。我得到了一个“ Ping_Library_示例:9:错误:在“if”之前应为非限定id 我肯定我有一些小的语法错误,有什么想法吗? 顺便说一句,orrigional脚本使用“void loop”而不是“if”。使用when时也可能发生同样的错误。有什么想法吗 #include <Ping.h> Ping ping = Ping(13,74,29); void setup(){ Serial.begin(115200); } if(digitalRead
我肯定我有一些小的语法错误,有什么想法吗? 顺便说一句,orrigional脚本使用“void loop”而不是“if”。使用when时也可能发生同样的错误。有什么想法吗
#include <Ping.h>
Ping ping = Ping(13,74,29);
void setup(){
Serial.begin(115200);
}
if(digitalRead == HIGH){
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
#包括
平平=平(13,74,29);
无效设置(){
序列号开始(115200);
}
如果(digitalRead==高){
ping.fire();
串行打印(“微秒:”);
串行打印(ping.microseconds());
连续打印(“英寸”);
串行打印(ping.inches());
连续打印(“|厘米:”);
串行打印(ping.cm());
Serial.println();
}
如果表达式超出函数范围,则无法编写。我认为应该是这样的:
void loop() {
if(digitalRead(5) == HIGH){ //checks pin 5
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
}
void loop() {
if(digitalRead(5) == HIGH) {
ping.fire();
// insert other code here
}
}
此代码循环,检查digitalRead是否高,如果高,则执行ping。
希望有帮助:)如果表达式超出函数范围,则无法编写。我认为应该是这样的:
void loop() {
if(digitalRead(5) == HIGH){ //checks pin 5
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
}
void loop() {
if(digitalRead(5) == HIGH) {
ping.fire();
// insert other code here
}
}
此代码循环,检查digitalRead是否高,如果高,则执行ping。
希望有帮助:)Arduino程序需要一个
循环()
函数才能运行;如果条件不起作用,只需将函数替换为。尝试将if
块放入loop()函数中
另外,digitalRead
是一个函数,您需要告诉它从哪个pin读取。e、 例如,digitalRead(5)
从引脚5读取
试着这样做:
void loop() {
if(digitalRead(5) == HIGH){ //checks pin 5
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
}
void loop() {
if(digitalRead(5) == HIGH) {
ping.fire();
// insert other code here
}
}
(将5更改为您要读取的管脚,或将该值指定给变量并传入)Arduino程序需要运行loop()
函数;如果
条件不起作用,只需将函数替换为。尝试将if
块放入loop()函数中
另外,digitalRead
是一个函数,您需要告诉它从哪个pin读取。e、 例如,digitalRead(5)
从引脚5读取
试着这样做:
void loop() {
if(digitalRead(5) == HIGH){ //checks pin 5
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
}
void loop() {
if(digitalRead(5) == HIGH) {
ping.fire();
// insert other code here
}
}
(将5更改为您想要读取的任何pin,或将该值指定给变量并传入)如果您可以想象的话,我收到了由于注释中的反斜杠输入错误而导致的相同错误。令人不快的是:
int my_recvDone() {
//=======================\
if ( !g_patternReceived ) {
我假设这是由于解析器中的某种行连续性特性造成的,并且可能会在其他代码区域中表现为不同的编译器错误…如果您可以想象的话,我收到了由于注释中的反斜杠输入错误而导致的相同错误。令人不快的是:
int my_recvDone() {
//=======================\
if ( !g_patternReceived ) {
我假设这是由于解析器中的某种行连续性功能造成的,并且可能会在其他代码区域中表现为不同的编译器错误…有关可能对偶然发现此答案的人有用的其他信息
我只是有同样的问题,但我的问题是,有一个}意外地从结尾漏掉了。这导致if语句位于任何函数之外。简单的打字错误。对于偶然发现此答案的人,可能会有帮助的其他信息
我只是有同样的问题,但我的问题是,有一个}意外地从结尾漏掉了。这导致if语句位于任何函数之外。简单的打字错误