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 
}

#definePS: s は Arduino スタイル ガイドでは推奨されていないと思いました。

于 2013-06-03T02:50:19.617 に答える