首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“宏名称必须是标识符”

“宏名称必须是标识符”
EN

Stack Overflow用户
提问于 2017-07-09 02:14:49
回答 2查看 4.2K关注 0票数 0

我得到上面的错误消息,代码如下所示。它与JSN-SR04T传感器一起使用。我使用的是带有IDE版本1.8.2.0的Arduino Uno。

我更改了引脚编号,并去掉了所有空格,以防有任何嵌入字符。仍然会出现错误。不知道还能做什么。有什么建议吗?

代码:

代码语言:javascript
复制
/*
 * 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);
}
EN

回答 2

Stack Overflow用户

发布于 2017-07-09 04:30:12

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

代码语言:javascript
复制
#define ECHOPIN 10
#define TRIGPIN 9

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

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

代码语言:javascript
复制
const int 9 = 9;
const int 10 = 10;

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

票数 3
EN

Stack Overflow用户

发布于 2017-07-09 11:08:09

代码语言:javascript
复制
 * www.HowToMechatronics.com
 *
*/.

这个点在/之后做了什么?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44989366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档