Mit Kommas getrennten String auslesen

So oder so ähnlich müsste es eigentlich...

	while (1) {
		if (Serial.available()) {
			char c = Serial.read();
			if (c == '\0' || c == '\r' || c == '\n') { // Wenn die Textzeile durch ist...
				Serial.print(data[0]);
				Serial.print(", ");
				Serial.print(data[1]);
				Serial.print(", ");
				Serial.print(data[2]);
				Serial.print(", ");
				Serial.println(data[3]);
				break; // Fertig, while() beenden!
			} else if (c != ',') { // Normalfall
				// Aktuelles Zeichen ans Ende des Puffers hinzufuegen und Pufferposition hochzaehlen
				buffer[bufferPos++] = c;
			} else { // Sonderfall: Das aktuelle Zeichen ist ein Komma
				// Komma durch '\0' ersetzen, markiert fuer die strtoul()-Funktion das Ende der Zahl
				buffer[bufferPos++] = '\0';
				// Nur bei bestimmten Kommas reagieren!
				if (commaCount==2 || commaCount==3) {
					buffer[bufferPos-2] = '\0'; // bei beiden Zahlen die hintere '0' wegschneiden
					// Teil des uebergebenen Textes in vorzeichenlose Zahl umwandeln
					data[dataPos++] = strtoul(buffer, NULL, 10);
				} else if (commaCount == 5) {
					buffer[bufferPos-12] = '\0'; // 4. Zahl rausschneiden
					data[dataPos+1] = strtoul(buffer+6, NULL, 10);
					buffer[bufferPos-19] = '\0'; // 3. Zahl rausschneiden, REIHENFOLGE NICHT UMDREHEN!
					data[dataPos] = strtoul(buffer, NULL, 10);
				}
				commaCount++;
				bufferPos = 0; // Puffer zuruecksetzen
			} 
		}
	}

Ungetestet, daher ohne Gewähr! :wink: