Çözüldü Arduino koddaki hata nerede?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

KKPC

Picopat
Katılım
12 Mayıs 2023
Mesajlar
223
Çözümler
1
Kod:

C:
#include <MFRC522.h>

#include <SPI.h>

int sayac = 0;

int buzzer = 8;
int RSTpin = 9;
int SSpin = 10;
MFRC522 rfid(SSpin, RSTpin);
byte ID[4] = { 0, 0, 0, 0 };

void setup() {

 Serial.begin(9600);
 SPI.begin();
 rfid.PCD_Init();
 pinMode(buzzer, OUTPUT);
}

void loop() {

 if (!rfid.PICC_IsNewCardPresent())
 return;
 if (!rfid.PICC_ReadCardSerial())
 return;
 if (rfid.uid.uidByte[0] == ID[0] && rfid.uid.uidByte[1] == ID[1] && rfid.uid.uidByte[2] == ID[2] && rfid.uid.uidByte[3] == ID[3]) {

 digitalWrite(buzzer, HIGH);
 delay(500);
 digitalWrite(buzzer, LOW);
 delay(200);
 digitalWrite(buzzer, HIGH);
 delay(500);
 digitalWrite(buzzer, LOW);
 delay(200);

 }

 else {

 digitalWrite(buzzer, HIGH);
 delay(4321);
 }
}

 void ekranayaz()
 {
 {
 Serial.println("ID Numaranız:");
 for (sayac > 4 sayac++) {

 Serial.print(rfid.uid.uidByte[sayac]);
 Serial.print(" ");

 }
 }
 }

Verilen hata:

Rich (BB code):
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino: In function 'void ekranayaz()':
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:51:21: error: expected ';' before 'sayac'.
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:57:5: error: expected primary-expression before '}' token.
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:57:5: error: expected ';' before '}' token.
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:57:5: error: expected primary-expression before '}' token.
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:57:5: error: expected ')' before '}' token.
C:\Users\Administrator\Desktop\Arduino Ve VS\Arduino Kodları\RFID_Buzzer\RFID_Buzzer.ino:57:5: error: expected primary-expression before '}' token.

Using library MFRC522 at version 1.4.10 in folder: C:\Users\Administrator\Documents\Arduino\libraries\MFRC522
Using library SPI at version 1.0 in folder: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SPI
exit status 1

Compilation error: expected ';' before 'sayac'
 
Çözüm
"Ekranayaz" adlı fonksiyonun içindeki for döngüsünün syntaxı bozuk "sayac" değişkeninin yukarıdaki tanımını silip fonksiyonu aşağıdaki gibi yaparsanız hata vermez. Ama fonksiyonu çağırmadığınız için fonksiyon kullanılmayacaktır.
C:
void ekranayaz() {
  Serial.println("ID Numaranız:");
  for (sayac = 0; sayac < 4; sayac++) {
    Serial.print(rfid.uid.uidByte[sayac]);
    Serial.print(" ");
  }
}
"Ekranayaz" adlı fonksiyonun içindeki for döngüsünün syntaxı bozuk "sayac" değişkeninin yukarıdaki tanımını silip fonksiyonu aşağıdaki gibi yaparsanız hata vermez. Ama fonksiyonu çağırmadığınız için fonksiyon kullanılmayacaktır.
C:
void ekranayaz() {
  Serial.println("ID Numaranız:");
  for (sayac = 0; sayac < 4; sayac++) {
    Serial.print(rfid.uid.uidByte[sayac]);
    Serial.print(" ");
  }
}
 
Çözüm

Geri
Yukarı