ID vom RFID CHip mit array aus funktion ermitteln

Gast #4053353
Lesenswert?
• ▲
▼
Hallo,
ich möchte mit einem Arduino und den RFID-RC522 die ID eines RFID-Chips 
ermitteln und ausgeben lassen. dazu habe ich mir eine Funktion 
geschrieben:
1
...
2
int * getID(){
3
  int ID[mfrc522.uid.size];
4
  for(byte i=0; i<mfrc522.uid.size; i++){
5
    ID[i] = mfrc522.uid.uidByte[i];
6
    Serial.print(ID[i],HEX);
7
    Serial.print(" ");
8
  }
9
  Serial.println(" ");
10
  return ID;
11
}
12

13
void loop(){
14
  // Look for new cards
15
  if(!mfrc522.PICC_IsNewCardPresent()){  // Wenn eine Karte in Reichweite ist
16
    return;        // gehe weiter...
17
  }
18
  // Select one of the cards
19
  if(!mfrc522.PICC_ReadCardSerial()){    // Wenn ein RFID-Sender ausgeählt wurde
20
    return;        // gehe weiter...
21
  }
22
  Serial.println("Please Enter the Number what you want to do.");
23
  Serial.println("1. get Chip-ID");
24
  Serial.println("2. exit");
25
  while(!Serial.available()){
26
  }
27
  if(Serial.available()){
28
    if (Serial.read() == '1'){
29
      int *ChipID;
30
      ChipID = getID();
31
      Serial.print("Die ID des RFID-TAGS lautet: ");
32
      //for(byte i=0; i<mfrc522.uid.size; i++){
33
      for(byte i=0; i<mfrc522.uid.size; i++){
34
        Serial.print(ChipID[i],HEX);
35
        Serial.print(" ");
36
      }
37
    }
38
    else if(Serial.read() == '2'){
39
      mfrc522.PICC_HaltA(); // Halt PICC
40
      mfrc522.PCD_StopCrypto1();// Stop encryption on PCD
41
    }
42
  }
43
  Serial.println(" ");
44
}

Die Ausgabe in der Funktin getID() zeigt mir die richtigen Werte an (94 
A 3B 529. In der loop-Funktion, kommt allerdings ganz andere Werte an 
(282 23 2F30 0). Was habe ich da falsch gemacht?

gruß
Gast #4053677
Lesenswert?
• ▲
▼
Frank schrieb:
> int * getID(){
>   int ID[mfrc522.uid.size];
>   for(byte i=0; i<mfrc522.uid.size; i++){
>     ID[i] = mfrc522.uid.uidByte[i];
>     Serial.print(ID[i],HEX);
>     Serial.print(" ");
>   }
>   Serial.println(" ");
>   return ID;
> }

Du gibst das LOKALE ID-Array zurück!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.