0

我正在尝试使用#define创建一个常量并定义一个引脚,检查此代码

#define PIN_MICROPHONE 13;

void loop()
{
    analogRead(PIN_MICROPHONE);
}

但是在尝试编译时,它说这个错误:

: In function 'void loop()':
error: expected `)' before ';' token
error: expected primary-expression before ')' token
error: expected `;' before ')' token

如何使用#define宏定义引脚?

此代码编译正常

#define PIN_MICROPHONE 13;

void loop()
{
    analogRead(13);
}

我正在使用 Arduino 1.0.5

4

1 回答 1

8

问题是你的分号。

#define它的末尾不需要分号。

#define PIN_MICROPHONE 13
void loop()
{
    analogRead(PIN_MICROPHONE);
}

通常,#define 是一个预编译指令。这意味着在编译代码之前对文本进行查找和替换。所以IDE“看到”了下面的代码。

void loop()
{
    analogRead(13;); //not going to work 
}

PS:我认为#defines 在 Arduino 风格指南中不被鼓励。

于 2013-06-03T02:50:19.617 回答