arduinoエラー:数値定数の前に '、'または '...'が必要です

私はarduinoとC ++に不慣れで、上記のエラーに遭遇しています。それはかなり自明のように思えます、しかし私はコードの中に欠けているコンマを見つけることができません。 binaryOut 関数を追加する前にコードが正常に機能していたので、そこにあると思います。

Arduinoがどこでエラーが発生しているのかを示してくれたらいいでしょう。

任意の助けは大歓迎です。

#define ultrasonic 6
#define buzzer 3
#define latchPin 8
#define clockPin 12
#define dataPin 11

int sound = 250;

void setup(){
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop(){
  long duration, inches;

  pinMode(ultrasonic, OUTPUT);
  digitalWrite(ultrasonic, LOW);
  delayMicroseconds(2);
  digitalWrite(ultrasonic, HIGH);
  delayMicroseconds(5);
  digitalWrite(ultrasonic, LOW);

  pinMode(ultrasonic, INPUT);
  duration = pulseIn(ultrasonic, HIGH);
  inches = microsecondsToInches(duration);

  if(inches > 36 || inches <= 0){
    Serial.print("Out of range. ");
    Serial.println(inches);
  }else{
   Serial.print(inches);
   Serial.println(" in.");
  }
  binaryOut(inches);
  digitalWrite(latchPin, LOW);
  digitalWrite(latchPin, HIGH);
  delay(1000);
}

long microsecondsToInches(long microseconds){
  /* 73.746 microseconds per inch
  * Sound travels at 1130 ft/s */
  return microseconds/73.746/2;
}

void binaryOut(byte dataOut){
  Serial.println(dataOut);
  boolean pinState;
  for(int i = 0; i <= 7; i++){
    digitalWrite(clockPin, LOW);
    if(dataOut & (1<

編集:ArduinoではHIGHとLOWは定義された定数です( http://arduino.cc/en/Reference/Constants booleanはプリミティブデータ型です( http://en.wikipedia.org/wiki)。/Primitive_data_type

EDIT2: I modeled the binaryOut from the example (shiftOut) in the image below.
enter image description here

編集3:正確なエラーは次のとおりです。

In file included from UltrasonicRangeSensorAJ.ino:7:
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:111: error: expected ',' or '...' before numeric constant
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:112: error: expected ',' or '...' before numeric constant

最初は "111"と "112"が行番号に対応していると思いましたが、私のコードは90行以下です。

2
追加された 編集された
ビュー: 2
この質問をArduino SE(arduino.stackexchange.com)に移動してください。
追加された 著者 naren,
この質問をArduino SE(arduino.stackexchange.com)に移動してください。
追加された 著者 naren,
完全なエラーメッセージはどこ?
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージに表示されたファイルにあります。それとも少なくともあなたはそれを見つけることに近いだろう
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージに表示されたファイルにあります。それとも少なくともあなたはそれを見つけることに近いだろう
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージ内のファイル。
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージ内のファイル。
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージ内のファイル。
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージがソースコードを指していないことに気づいたでしょうか。
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージがソースコードを指していないことに気づいたでしょうか。
追加された 著者 Ignacio Vazquez-Abrams,
エラーメッセージがソースコードを指していないことに気づいたでしょうか。
追加された 著者 Ignacio Vazquez-Abrams,
完全なエラーメッセージはどこ?
追加された 著者 Ignacio Vazquez-Abrams,
@ IgnacioVazquez-Abramsが述べたように、エラーが発生した行番号が表示されるので、完全なエラーメッセージを含める必要があります。
追加された 著者 Ben Smith,
@ IgnacioVazquez-Abramsが述べたように、エラーが発生した行番号が表示されるので、完全なエラーメッセージを含める必要があります。
追加された 著者 Ben Smith,
@ IgnacioVazquez-Abramsが述べたように、エラーが発生した行番号が表示されるので、完全なエラーメッセージを含める必要があります。
追加された 著者 Ben Smith,
これについてはもっと情報が必要だと思います。使用されているが、サンプルでは定義されていない定数があります(ブール、バイト、LOW、HIGHなど)。これらの定数を知ることは助けになるかもしれません。また、 inch はlongとして定義されていますが、それを byte を期待している binaryOut に渡しています。データが失われる可能性があります。エラーメッセージに本当に "..."が含まれている場合は、関数定義に問題があることに傾けます。C...で "..."を使用しているのは、可変数関数を定義することだけです。
追加された 著者 Velox,
Serial.println(dataOut);Serial.print(dataOut); に変更しましたか? println は文字列用に設計されており、 dataOut はバイトです。
追加された 著者 Velox,
Serial.println(dataOut);Serial.print(dataOut); に変更しましたか? println は文字列用に設計されており、 dataOut はバイトです。
追加された 著者 Velox,
Serial.println(dataOut);Serial.print(dataOut); に変更しましたか? println は文字列用に設計されており、 dataOut はバイトです。
追加された 著者 Velox,
これについてはもっと情報が必要だと思います。使用されているが、サンプルでは定義されていない定数があります(ブール、バイト、LOW、HIGHなど)。これらの定数を知ることは助けになるかもしれません。また、 inch はlongとして定義されていますが、それを byte を期待している binaryOut に渡しています。データが失われる可能性があります。エラーメッセージに本当に "..."が含まれている場合は、関数定義に問題があることに傾けます。C...で "..."を使用しているのは、可変数関数を定義することだけです。
追加された 著者 Velox,
@Velox、私はあなたの質問のいくつかに答えるために記事を編集しました。他に何かありましたら教えてください。
追加された 著者 user2755399,
'println'はテキストまたは変数の印刷後に改行文字を追加します( arduino.cc/en/Serial/ Println
追加された 著者 user2755399,
移動要求でmodにフラグを立てました。
追加された 著者 user2755399,
@Velox、私はあなたの質問のいくつかに答えるために記事を編集しました。他に何かありましたら教えてください。
追加された 著者 user2755399,
以下の回答。
追加された 著者 user2755399,
'println'はテキストまたは変数の印刷後に改行文字を追加します( arduino.cc/en/Serial/ Println
追加された 著者 user2755399,
'println'はテキストまたは変数の印刷後に改行文字を追加します( arduino.cc/en/Serial/ Println
追加された 著者 user2755399,
ファイルを見つけました。どうすれば最初にエラーを診断し、問題を見つけられたのでしょうか。それは "。H"ファイルにありますか?
追加された 著者 user2755399,
ファイルを見つけました。どうすれば最初にエラーを診断し、問題を見つけられたのでしょうか。それは "。H"ファイルにありますか?
追加された 著者 user2755399,
ファイルを見つけました。どうすれば最初にエラーを診断し、問題を見つけられたのでしょうか。それは "。H"ファイルにありますか?
追加された 著者 user2755399,
以下の回答。
追加された 著者 user2755399,
以下の回答。
追加された 著者 user2755399,

6 答え

Arduinoのライブラリは "dataPin"と "clockPin"識別子をそれぞれの目的に使います。あなたのコードの実際の値でそれらを定義することによって、あなたはArduinoのコードがコンパイル不可能になる原因となりました。それらの名前を変更してください。

 void shiftOut(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder、uint8_t val);
uint8_t shiftIn(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder);
 
3
追加された
それでした。奇妙なことに、私もそれらに「dataPin」と「clockPin」とラベルを付けた本は安全だと思った理由です。お手伝いありがとう。
追加された 著者 user2755399,

Arduinoのライブラリは "dataPin"と "clockPin"識別子をそれぞれの目的に使います。あなたのコードの実際の値でそれらを定義することによって、あなたはArduinoのコードがコンパイル不可能になる原因となりました。それらの名前を変更してください。

 void shiftOut(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder、uint8_t val);
uint8_t shiftIn(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder);
 
3
追加された
それでした。奇妙なことに、私もそれらに「dataPin」と「clockPin」とラベルを付けた本は安全だと思った理由です。お手伝いありがとう。
追加された 著者 user2755399,

Arduinoのライブラリは "dataPin"と "clockPin"識別子をそれぞれの目的に使います。あなたのコードの実際の値でそれらを定義することによって、あなたはArduinoのコードがコンパイル不可能になる原因となりました。それらの名前を変更してください。

 void shiftOut(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder、uint8_t val);
uint8_t shiftIn(uint8_t dataPin、uint8_t clockPin、uint8_t bitOrder);
 
3
追加された
それでした。奇妙なことに、私もそれらに「dataPin」と「clockPin」とラベルを付けた本は安全だと思った理由です。お手伝いありがとう。
追加された 著者 user2755399,

この答えは単なる記録目的です。

I found this example http://arduino.cc/en/Tutorial/PlayMelody?action=sourceblock&num=1 to play melody.

Below lines in the example code also throws me the same error expected ',' or '…' before numeric constant

#define  c     3830   //261 Hz 
#define  d     3400   //294 Hz 
#define  e     3038   //329 Hz 

しかし、私が上の行を修正したとき、このようなもの(下)はうまく働きます。

#define  C     3830   //261 Hz 
#define  D     3400   //294 Hz 
#define  E     3038   //329 Hz 

定義中は、小文字の1文字を使用できません。

1
追加された
しかし、これは小文字の1文字に対してのみ起こります。 #define cc 3830 //これで問題なく動作します
追加された 著者 naren,
それは注目に値するです。私は定数のための受け入れられた構文がすべて大文字でそれらを書くことであることを知っていますが、あなたが小文字で定数名を始めるためのエラーを受け取ることを知らなかった。
追加された 著者 user2755399,

この答えは単なる記録目的です。

I found this example http://arduino.cc/en/Tutorial/PlayMelody?action=sourceblock&num=1 to play melody.

Below lines in the example code also throws me the same error expected ',' or '…' before numeric constant

#define  c     3830   //261 Hz 
#define  d     3400   //294 Hz 
#define  e     3038   //329 Hz 

しかし、私が上の行を修正したとき、このようなもの(下)はうまく働きます。

#define  C     3830   //261 Hz 
#define  D     3400   //294 Hz 
#define  E     3038   //329 Hz 

定義中は、小文字の1文字を使用できません。

1
追加された
しかし、これは小文字の1文字に対してのみ起こります。 #define cc 3830 //これで問題なく動作します
追加された 著者 naren,
それは注目に値するです。私は定数のための受け入れられた構文がすべて大文字でそれらを書くことであることを知っていますが、あなたが小文字で定数名を始めるためのエラーを受け取ることを知らなかった。
追加された 著者 user2755399,

この答えは単なる記録目的です。

I found this example http://arduino.cc/en/Tutorial/PlayMelody?action=sourceblock&num=1 to play melody.

Below lines in the example code also throws me the same error expected ',' or '…' before numeric constant

#define  c     3830   //261 Hz 
#define  d     3400   //294 Hz 
#define  e     3038   //329 Hz 

しかし、私が上の行を修正したとき、このようなもの(下)はうまく働きます。

#define  C     3830   //261 Hz 
#define  D     3400   //294 Hz 
#define  E     3038   //329 Hz 

定義中は、小文字の1文字を使用できません。

1
追加された
しかし、これは小文字の1文字に対してのみ起こります。 #define cc 3830 //これで問題なく動作します
追加された 著者 naren,
それは注目に値するです。私は定数のための受け入れられた構文がすべて大文字でそれらを書くことであることを知っていますが、あなたが小文字で定数名を始めるためのエラーを受け取ることを知らなかった。
追加された 著者 user2755399,