arduino xatosi: raqamli sobit oldin "kutilgan", yoki "..."

Men arduino va C ++ uchun yangi va yuqoridagi xatoga yo'l qo'yaman. O'z-o'zidan tushunarli, lekin kodning ichida nuqsonli vergullarni topa olmayapman. binaryOut funktsiyasini qo'shmaganimdan oldin kod yaxshi ishladi, shuning uchun u erda mavjudligiga ishonaman.

Arduino xatoning qaerda ekanligini ko'rsatib bergan bo'lsa yaxshi bo'lar edi.

Har qanday yordam katta minnatdor bo'ladi.

#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<

EDIT: Arduino HIGH va LOW da belgilangan sobit ( http://arduino.cc/en/Reference/Constants ) va boolean ibtidoiy ma'lumotlar turi ( 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

EDIT3: aniq xato:

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

Avvaliga "111" va "112" satr raqamiga to'g'ri kelar, lekin mening kodim 90 tagacha.

2
Ushbu savolni Arduino SE (arduino.stackexchange.com) ga ko'chiring
qo'shib qo'ydi muallif naren, manba
Ushbu savolni Arduino SE (arduino.stackexchange.com) ga ko'chiring
qo'shib qo'ydi muallif naren, manba
To'liq xato xabari qaerda?
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabarida ko'rsatilgan faylda bo'ladi. Yoki bo'lmasa, uni topishga yaqinroq bo'lasan
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabarida ko'rsatilgan faylda bo'ladi. Yoki bo'lmasa, uni topishga yaqinroq bo'lasan
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabaridagi fayllar.
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabaridagi fayllar.
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabaridagi fayllar.
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabari manba kodingizga ishora qilmasligini qanday sezdingiz?
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabari manba kodingizga ishora qilmasligini qanday sezdingiz?
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
Xato xabari manba kodingizga ishora qilmasligini qanday sezdingiz?
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
To'liq xato xabari qaerda?
qo'shib qo'ydi muallif Ignacio Vazquez-Abrams, manba
@ IgnacioVazquez-Abrams aytganidek, siz to'liq xato xabarni kiritishingiz kerak, chunki bu xato paydo bo'lgan satr raqamini belgilaydi.
qo'shib qo'ydi muallif Ben Smith, manba
@ IgnacioVazquez-Abrams aytganidek, siz to'liq xato xabarni kiritishingiz kerak, chunki bu xato paydo bo'lgan satr raqamini belgilaydi.
qo'shib qo'ydi muallif Ben Smith, manba
@ IgnacioVazquez-Abrams aytganidek, siz to'liq xato xabarni kiritishingiz kerak, chunki bu xato paydo bo'lgan satr raqamini belgilaydi.
qo'shib qo'ydi muallif Ben Smith, manba
Menimcha, bu haqda ko'proq ma'lumotga muhtojmiz. Siz ishlatadigan, lekin namunangizda aniqlanmagan (boolean, byte, LOW, HIGH, va hokazo) belgilangan sobit mavjud. Bu sobitlarni bilish sizga yordam berishi mumkin. Bundan tashqari, dyuymlar uzunligi sifatida belgilanadi, lekin baytda kutayotgan kodni binaryOut ga o'tkazasiz. Ma'lumot yo'qotilishi mumkin. Agar xato xabari haqiqatan ham "..." ni o'z ichiga olgan bo'lsa, unda "funktsiya" funktsiyasini belgilovchi yagona joy "V" funktsiyasini belgilaydi.
qo'shib qo'ydi muallif Velox, manba
Serial.println (dataOut); Serial.print (dataOut); kodini o'zgartirishga harakat qildingizmi? println kabi satrlar uchun mo'ljallangan va dataOut bir baytga o'xshaydi.
qo'shib qo'ydi muallif Velox, manba
Serial.println (dataOut); Serial.print (dataOut); kodini o'zgartirishga harakat qildingizmi? println kabi satrlar uchun mo'ljallangan va dataOut bir baytga o'xshaydi.
qo'shib qo'ydi muallif Velox, manba
Serial.println (dataOut); Serial.print (dataOut); kodini o'zgartirishga harakat qildingizmi? println kabi satrlar uchun mo'ljallangan va dataOut bir baytga o'xshaydi.
qo'shib qo'ydi muallif Velox, manba
Menimcha, bu haqda ko'proq ma'lumotga muhtojmiz. Siz ishlatadigan, lekin namunangizda aniqlanmagan (boolean, byte, LOW, HIGH, va hokazo) belgilangan sobit mavjud. Bu sobitlarni bilish sizga yordam berishi mumkin. Bundan tashqari, dyuymlar uzunligi sifatida belgilanadi, lekin baytda kutayotgan kodni binaryOut ga o'tkazasiz. Ma'lumot yo'qotilishi mumkin. Agar xato xabari haqiqatan ham "..." ni o'z ichiga olgan bo'lsa, unda "funktsiya" funktsiyasini belgilovchi yagona joy "V" funktsiyasini belgilaydi.
qo'shib qo'ydi muallif Velox, manba
@Velox, sizning ba'zi savollaringizga javob berish uchun xabarni tahrir qildim. Boshqa biror narsa borligini iltimos, menga xabar bering.
qo'shib qo'ydi muallif user2755399, manba
"println" matn yoki o'zgaruvchining bosilganidan keyin yangi satrlarni kiritadi ("arduino.cc" dan foydalanadi) Println )
qo'shib qo'ydi muallif user2755399, manba
ko'chirish talabi bilan tartibga solingan bayroq.
qo'shib qo'ydi muallif user2755399, manba
@Velox, sizning ba'zi savollaringizga javob berish uchun xabarni tahrir qildim. Boshqa biror narsa borligini iltimos, menga xabar bering.
qo'shib qo'ydi muallif user2755399, manba
Quyidagi javob.
qo'shib qo'ydi muallif user2755399, manba
"println" matn yoki o'zgaruvchining bosilganidan keyin yangi satrlarni kiritadi ("arduino.cc" dan foydalanadi) Println )
qo'shib qo'ydi muallif user2755399, manba
"println" matn yoki o'zgaruvchining bosilganidan keyin yangi satrlarni kiritadi ("arduino.cc" dan foydalanadi) Println )
qo'shib qo'ydi muallif user2755399, manba
Men fayllarni topdim. Dastlab xatoni qanday tashxis qila olardim va muammoni hal qildim? "H" faylida bo'ladimi?
qo'shib qo'ydi muallif user2755399, manba
Men fayllarni topdim. Dastlab xatoni qanday tashxis qila olardim va muammoni hal qildim? "H" faylida bo'ladimi?
qo'shib qo'ydi muallif user2755399, manba
Men fayllarni topdim. Dastlab xatoni qanday tashxis qila olardim va muammoni hal qildim? "H" faylida bo'ladimi?
qo'shib qo'ydi muallif user2755399, manba
Quyidagi javob.
qo'shib qo'ydi muallif user2755399, manba
Quyidagi javob.
qo'shib qo'ydi muallif user2755399, manba

6 javoblar

Arduino kutubxonalari o'zlarining maqsadlari uchun "dataPin" va "clockPin" identifikatorlarini ishlatadilar. O'zingizning kodingizdagi haqiqiy qiymatlarni aniqlab, Arduino kodini kompilyatsiya qilmasligingizga olib kelgansiz. Ularning nomini o'zgartiring.

 void shiftOut (uint8_t ma'lumotiPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
uint8_t shiftIn (uint8_t ma'lumotlarniPin, uint8_t clockPin, uint8_t bitOrder);
 
-ni tanlang
3
qo'shib qo'ydi
Bu shunday edi. Oddiy qilib aytganda, men ularni "dataPin" va "clockPin" deb nomladim, shuning uchun uni xavfsiz deb o'yladim. Yordam uchun rahmat.
qo'shib qo'ydi muallif user2755399, manba

Arduino kutubxonalari o'zlarining maqsadlari uchun "dataPin" va "clockPin" identifikatorlarini ishlatadilar. O'zingizning kodingizdagi haqiqiy qiymatlarni aniqlab, Arduino kodini kompilyatsiya qilmasligingizga olib kelgansiz. Ularning nomini o'zgartiring.

 void shiftOut (uint8_t ma'lumotiPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
uint8_t shiftIn (uint8_t ma'lumotlarniPin, uint8_t clockPin, uint8_t bitOrder);
 
-ni tanlang
3
qo'shib qo'ydi
Bu shunday edi. Oddiy qilib aytganda, men ularni "dataPin" va "clockPin" deb nomladim, shuning uchun uni xavfsiz deb o'yladim. Yordam uchun rahmat.
qo'shib qo'ydi muallif user2755399, manba

Arduino kutubxonalari o'zlarining maqsadlari uchun "dataPin" va "clockPin" identifikatorlarini ishlatadilar. O'zingizning kodingizdagi haqiqiy qiymatlarni aniqlab, Arduino kodini kompilyatsiya qilmasligingizga olib kelgansiz. Ularning nomini o'zgartiring.

 void shiftOut (uint8_t ma'lumotiPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
uint8_t shiftIn (uint8_t ma'lumotlarniPin, uint8_t clockPin, uint8_t bitOrder);
 
-ni tanlang
3
qo'shib qo'ydi
Bu shunday edi. Oddiy qilib aytganda, men ularni "dataPin" va "clockPin" deb nomladim, shuning uchun uni xavfsiz deb o'yladim. Yordam uchun rahmat.
qo'shib qo'ydi muallif user2755399, manba

Bu javob yozuv uchun mo'ljallangan.

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 

Lekin men yuqoridagi satrlarni o'zgartirganimda bu narsa (pastda) yaxshi ishlaydi.

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

belgilashda kichik harfli harflardan foydalana olmaysiz.

1
qo'shib qo'ydi
Biroq, bu faqat kichik harflar uchun bo'ladi. #define cc 3830//Bu yaxshi ishlaydi
qo'shib qo'ydi muallif naren, manba
Shuni aytib o'tish kerak. Sobit uchun qabul qilingan sintaksisi ularni barcha papkalarga yozib berishni biladi, ammo siz kichik nomdagi doimiy nomni ishga tushirish uchun xatolik yuzaga kelishini bilmasligingiz kerak.
qo'shib qo'ydi muallif user2755399, manba

Bu javob yozuv uchun mo'ljallangan.

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 

Lekin men yuqoridagi satrlarni o'zgartirganimda bu narsa (pastda) yaxshi ishlaydi.

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

belgilashda kichik harfli harflardan foydalana olmaysiz.

1
qo'shib qo'ydi
Biroq, bu faqat kichik harflar uchun bo'ladi. #define cc 3830//Bu yaxshi ishlaydi
qo'shib qo'ydi muallif naren, manba
Shuni aytib o'tish kerak. Sobit uchun qabul qilingan sintaksisi ularni barcha papkalarga yozib berishni biladi, ammo siz kichik nomdagi doimiy nomni ishga tushirish uchun xatolik yuzaga kelishini bilmasligingiz kerak.
qo'shib qo'ydi muallif user2755399, manba

Bu javob yozuv uchun mo'ljallangan.

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 

Lekin men yuqoridagi satrlarni o'zgartirganimda bu narsa (pastda) yaxshi ishlaydi.

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

belgilashda kichik harfli harflardan foydalana olmaysiz.

1
qo'shib qo'ydi
Biroq, bu faqat kichik harflar uchun bo'ladi. #define cc 3830//Bu yaxshi ishlaydi
qo'shib qo'ydi muallif naren, manba
Shuni aytib o'tish kerak. Sobit uchun qabul qilingan sintaksisi ularni barcha papkalarga yozib berishni biladi, ammo siz kichik nomdagi doimiy nomni ishga tushirish uchun xatolik yuzaga kelishini bilmasligingiz kerak.
qo'shib qo'ydi muallif user2755399, manba