gpt4 book ai didi

c++ - "macro names must be identifiers"

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:45 25 4
gpt4 key购买 nike

我收到上面的错误消息以及下面显示的代码。它适用于 JSN-SR04T 传感器。我使用的是带有 IDE 版本 1.8.2.0 的 Arduino Uno。

我更改了密码并删除了所有空格,以防出现任何嵌入字符。仍然得到错误。不知道还能做什么。有什么建议吗?

代码:

/*
* Ultrasonic Sensor HC-SR04 and Arduino Tutorial
*
* Created by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/.
#define ECHOPIN 10
#define TRIGPIN 9

const int TRIGPIN = 9;
const int ECHOPIN = 10;
long duration;
int distance;

void setup() {
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
duration = pulseIn(ECHOPIN, HIGH);
distance= duration*0.034/2;
Serial.print("Distance: ");
Serial.println(distance);
}

最佳答案

如果this是你复制的原始代码,那么你可以看到没有宏定义。在您的示例中,有两个宏定义与以下 const int 声明同名:

#define ECHOPIN 10
#define TRIGPIN 9

const int TRIGPIN = 9;
const int ECHOPIN = 10;

preprocessor将用它们的值替换每个 ECHOPINTRIGPIN 宏。因此,在预处理器完成其工作后,上面的代码片段将如下所示:

const int 9 = 9;
const int 10 = 10;

从您的代码中删除宏或 const int 声明,它可能会起作用。

关于c++ - "macro names must be identifiers",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44989366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com