ich habe angefangen mich mit dem Arduino auseinander zusetzen.
Ich möchte später gerne die Serielle Eingabe nutzen für ein Projekt, deshalb will ich jetzt etwas testen um ein besseres Verständnis zu bekommen.
Und zwar wollte ich eigentlich nur wissen, ob es möglich ist bei einem Serial.available() die Anzahl der 'wartenden' Buchstaben abzufragen.
Dazu habe ich folgenden simplen Code geschrieben, welcher aber nichts verwertbares in der Ausgabe liefert.
Serial.available() gibt nur die Presenz von Daten in der Eingangswarteschleife bekannt, nicht die Anzahl.
Du mußt die Daten schon mit Serial.read lesen und kannst dadurch erkennen wieviele Zeichen angekommen sind.
Grüße Uwe
Damit hat uwefed ja schon eine meiner Fragen beantwortet.
@ sth77 Danke für den Tipp, aber wird nicht automatisch ein Cast von der Serial.print() ausgeführt?
EDIT: Scheinbar nicht mein Fehler.
Das Problem vor dem ich nun stehe ist, dass ich noch nicht weiß wie ich im Arduino ein Codewort zusammensetzen soll. Ich hätte es jetzt über ein Array gelöst(Das hätte aber nur geklappt, wenn ich die Anzahl der wartenden Buchstaben gewusst hätte, um ein passendes Array zu deklarieren). Hat jemand eine Idee dafür?
Danke!
Nachdem ich den Code von sth77 vollständig übernommen habe, habe ich gemerkt, dass es i.G. doch so möglich ist, wie ich es wollte.
Es ist also möglich die Anzahl der wartenden Buchstaben zu bekommen über Serial.available. Der Fehler war nur, dass es kein Cast bei der Ausgabe gibt.
Mal sehen, wie es am klügsten ist mein Codewort zusammenzusetzen.
Eine Frage noch: Die Buchstaben werden ja als Zahlencode ausgegeben. Sind sie intern im Arduino auch als Zahlen oder als Buchstaben?
Alo kann ich ein if(codewort == "geheim") {} machen oder muss ich "geheim" erst umwandeln?
Ist es eigentlich ASCII-Code?
Ich wollte mir die andere Frage eigentlich selbst beantworten. Kannst Du mir sagen, weshalb ich bei folgendem Code nur jeden zweiten Buchstaben zu sehen bekomme?