PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann RF-ID12-Modul von Innovation nicht auslesen, liefert komische Zeichen!



papuadive
21.02.2014, 22:21
Hallo, vielleicht kann mir jemand helfen? Versuche vergeblich ein RF-ID12 Modul von Innovation auszulesen, geht aber leider nicht.
Über den "Seriellen Monitor" kommen div. Zeichen an, aber leider keine Zahlen bzw. Buchstaben.
Im Datenblatt steht etwas von: Encoding (Manchester 64-bit, modulus 64). RF-ID-Modul: http://hcgilje.wordpress.com/resources/rfid_id12_tagreader/ Meine

Frage: Kann man das Modul nicht einfach über den Serielle Eingang (Rx) einlesen. Oder muss man dieses Machester-Bitmuster in ein ASCII umcodieren. Vielleicht stehe ich momentan auf der Leitung? Am Seriellen Monitor der Arduino-Entwicklungsumgebung kommen nach Ausführung des Codes
folgendes zu Tage:
Du hast ˙˙˙˙ gesendet!
Du hast ˙˙˙˙˙˙ gesendet!
Du hast ˙˙˙ gesendet!

Danke für die Hilfe Mad Anbei mein bisheriger Code:



/*
String über die serielle Schnittstelle empfangen
*/

int laenge = 255;
char empfangeneDaten[255];
void setup()
{
// Konfig. serielle Schnittstelle
Serial.begin(9600); //Übertragungsgeschwindigkeit
}
// the loop routine runs over and over again forever:
void loop()
{
int i = 0;

//Serielle Daten sind vorhanden
if(Serial.available())
{
//Daten einlesen
while(Serial.available())
{
empfangeneDaten[i++] = Serial.read();
//warten zwischen den einzelenen Zeichen
delay(2);
}
//Ausgabe des empfangenen Wertes
Serial.print("Du hast ");
Serial.print(empfangeneDaten);
Serial.println(" gesendet!"); // println steht für Zeilenumbruch

}
//Daten in Array löschen
ClearArray();
}
void ClearArray()
{
for(int x = 0; x < laenge; x++)
empfangeneDaten[x] = NULL;

}

cdk
01.03.2014, 13:24
Vermutlich must Du erstmal Deine if/while Abfragen von (Serial.available()) ändern auf (Serial.available() > 0) um sinnvolle Daten zu erhalten.

Laut Referenz (http://arduino.cc/en/Serial/Read) wird nämlich -1, also nicht 0, gesendet wenn nichts da ist. Und die -1 stellt sich als genau dieses komische ˙ dar, das Du in Deinem Beispiel als Ausgabe erhältst.