ich versuche gerade auf Serielle Eingaben zu reagieren:
mein Code bisher:
void setup() {
// initialize serial:
Serial.begin(9600);
}
void loop() {
// wenn was vom Seriellerschnittstelle kommt dann soll es gelesen werden:
while (Serial.available() > 0) {
// nach dem nächsten int suchen(mann kann werte mit space komma etc. trennen):
int PIN = Serial.parseInt();
int Vorlaufzeit = Serial.parseInt();
int dauer = Serial.parseInt();
Serial.println("PIN, Vorlaufzeit, dauer");
Serial.println(PIN + ", " + Vorlaufzeit + ", " + dauer);
}
}
einen Fehler
anstelle des + habe ich versucht . (Punkt) , (Komma)
leider bekomme ich immer einen Fehler
wie kann ich denn die Drei Daten in einer zeile ausgeben? oder geht das nicht?
dann müsste ich das mit Serial.print machen.
ich finde es sieht schöner aus wenn ich das in einer Zeile drin stehen habe.
char buffer[21]; //ensprechend anpassen! Auf minimal die Länge des Strings + 1!
snprintf_P(buffer, sizeof(buffer), PSTR("%d,%d,%d"), PIN, vorlaufzeit, dauer);
Hier noch in der besseren _P Version die den Format-String im Flash lässt. Für die normale Version einfach das PSTR() weglassen
Da gibt es auch noch mehr Optionen. Du kannst z.B. die Zahlen auf eine konstante Länge formatieren, was bei manchen Ausgaben praktisch ist. Vor allem wenn man Dinge auf SD Karten loggt. Aber auch bei Serial, wenn man schöne Spalten haben will