如何使用#define在Arduino中分配引脚?

时间:2013-06-03 02:16:02

标签: macros arduino c-preprocessor

我正在尝试使用#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

1 个答案:

答案 0 :(得分:7)

问题是你的分号。

#define在结尾处不需要分号。

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

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

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

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