ich sende aus meiner C#-Anwendung Befehle (REFERENZ / HÖHER / NIEDRIEGER usw.) an einen Arduino. Jetzt versuche ich beim auslesen auf dem UNO die Werte entsprechen zu filtern.
Aktuell habe ich es so versucht:
String a;
void loop(){
String a = Serial.read();
if (a == "REFERENZ"){
digitalWrite(2, HIGH);
winkelWert++;
}
}
Leider nimmt er das so nicht an.
Gibt es denn einen anderen Befehl um diese Strings entsprechend zu filtern?
An einem kompletten Sketch kann man besser Ursachen erkennen.
Deine wenigen Zeilen beinhalten mehrere Fehler.
Der Rückgabewert von read() ist 1 (in Worten EIN) Zeichen, keine Zeichenkette.
Wer ist winkelWert?
Was verstehst Du unter filtern?
Ich denke, da fehlen einige wesentliche Grundlagenkenntnisse.
Das geht zwar, macht aber nicht das was du willst.
Serial.read() liefert eine -1 oder einen Wert 0 .. 255, aber niemals einen String mit dem Text "REFERENZ".
Bei Serieller Übertragung ist außerdem immer die Frage, wann sie "fertig" ist. Gern wird dafür ein Zeilenende-Zeichen genommen.