arduino erreur: attendu ',' ou '...' avant constante numérique

Je suis nouveau à l'arduino et le C++ et je suis en cours d'exécution dans l'erreur ci-dessus. Il semble assez explicite, cependant je ne trouve pas le manque de virgule dans le code. Le code a bien fonctionné avant, j'ai ajouté la binaryOut fonction donc je crois qu'il est là.

Ce serait bien si l'Arduino, a donné une indication de l'endroit où l'erreur est survenue.

Toute aide serait grandement appréciée.

#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<<i)){
pinState = HIGH;
}else{
pinState = LOW;
}
digitalWrite(dataPin, pinState);
digitalWrite(clockPin, HIGH);
}
digitalWrite(clockPin, LOW);
}

EDIT: dans Arduino HAUTE et BASSE sont définies constantes (http://arduino.cc/en/Reference/Constants) et le booléen est un type de données primitif (http://en.wikipedia.org/wiki/Primitive_data_type)

EDIT2: j'ai modélisé la binaryOut de l'exemple (shiftOut) dans l'image ci-dessous.

arduino erreur: attendu ',' ou '...' avant constante numérique

EDIT3: L'erreur exacte est:

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

J'ai d'abord pensé que le "111" et "112" correspond au numéro de la ligne, mais mon code est de moins de 90 lignes.

  • Le message d'erreur complet où?
  • Je pense que nous avons besoin de plus d'informations sur cette. Il y a des constantes qui sont utilisés mais non définis dans votre échantillon (boolean, byte, BAS, HAUT, etc.). La connaissance de ces constantes peuvent aider. Aussi, inches est définie comme une longue, mais vous êtes de passage à binaryOut, qui s'attend à une byte. La perte de données peut se produire. Si le message d'erreur vraiment inclus "...", puis je pencherais vers elle un problème avec la définition de la fonction, comme le seul endroit que je connais en C qui utilise des "..." est la définition d'un variadic fonction.
  • J'ai édité le post pour répondre à certaines de vos questions. S'il vous plaît laissez-moi savoir si il y a autre chose.
  • Comme @IgnacioVazquez-Abrams a dit, vous devez inclure le message d'erreur complet, ce qui permettra d'état le numéro de la ligne où l'erreur se produit.
  • Avez-vous essayé de changer Serial.println(dataOut); à Serial.print(dataOut);? Il ressemble à println est conçu pour les cordes, et dataOut est un octet.
  • 'println' ajoute un caractère de nouvelle ligne après le texte ou la variable est imprimé (arduino.cc/en/Serial/Println)
  • Avez-vous remarqué comment le message d'erreur n'est pas pointant vers votre code source?
  • Réponse ci-dessous.
  • Les fichiers dans le message d'erreur.
  • J'ai trouvé les fichiers. Comment pourrais-je avoir un diagnostic de l'erreur au départ et a trouvé le problème? Serait-il dans l' ".H" fichier?
  • Il serait dans le fichier répertoriés dans le message d'erreur. Ou, au moins, vous être plus proche de la recherche, il
  • Déplacer cette question à l'Arduino SE (arduino.stackexchange.com)
  • pavillon de mod avec la demande de déplacement.

InformationsquelleAutor user2755399 | 2014-04-09